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
Server Software: nginx/0.5.0 (with compression level 2)
Requests per second: 17.70 [#/sec] (mean)
Server Software: Apache with deflate output filter
Requests per second: 20.16 [#/sec] (mean)
Without compression nginx beats apache, with the same proxied request
;-):
/usr/sbin/ab2 -t 60 -c 5 SAME_URL
Server Software: nginx/0.5.0
Requests per second: 12.63 [#/sec] (mean)
Server Software: Apache with deflate output filter
Requests per second: 11.26 [#/sec] (mean)
nginx.conf [snipped]
---
gzip on;
gzip_types text/plain text/css application/x-javascript text/xml;
gzip_proxied any;
gzip_comp_level 2;
proxy_buffering off;
---
Default apache conf from 'make install'.
How can I tune the gzip filter module to come to apache req/s, if it's
possible?!
I have seen some options in the src which I haven't found in the doc:
gzip_no_buffer?
gzip_window?
gzip_hash?
Could this help?!
What backend do you use ?
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.
2) how many CPUs and hao many worker_processes ?
3) instead of "proxy_buffering off" better use
proxy_max_temp_file_size 0;