src/http/modules/ngx_http_gzip_filter_module.c tuning

Igor Sysoev is at rambler-co.ru
Sun Dec 10 13:37:09 MSK 2006


On Sun, 10 Dec 2006, Aleksandar Lazic wrote:

> On Son 10.12.2006 13:04, Igor Sysoev wrote:
>> On Sun, 10 Dec 2006, Aleksandar Lazic wrote:
>> 
>>> today I have tested nginx and apache compression behavior with proxied
>>> requests and wasn't very happy that apache beats nginx :-/
>>> 
>>> /usr/sbin/ab2 -t 60 -c 5 -H 'Accept-Encoding: gzip' URL
>> 
>> What backend do you use ?
>
> The backend which was used is Mongrel latest stable.

Can Mongrel compress by itself ?

>> There may be follwoing reasons:
>> 
>> 1) by default nginx compresses 1.1 requests only, you may set:
>>    gzip_http_version 1.0
>>    if ab2 sends 1.0 requests then nginx pass them to backend and
>>    backend compresses them.
>
> We will check this.
>
>> 2) how many CPUs and hao many worker_processes ?
>
> #CPUs i will ask.
> worker_processes 10

In this case nginx can run on several CPUs as Apache does.

>> 3) instead of "proxy_buffering off" better use
>>    proxy_max_temp_file_size  0;
>
> We will check this.
>
> What about the options in the source?
>
> gzip_no_buffer?
> gzip_window?
> gzip_hash?

By default nginx fills a whole one of the "gzip_buffers" before to send
response to client. The "gzip_no_buffer" disables that.

The "gzip_window" and "gzip_hash" set gzippig parameters, the default
values are the same as in Apache. You can decrease them to decrease
memory footprint, but the compression level would also decreased.


Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list