Nginx hidden performance option
April 21, 2009
I am not exactly sure why this isn’t documented but nginx as of 0.7.x supports event ports
This is a huge performance win for Solaris. Nginx can avoid the 0(n) file descriptor problem with event ports support.
To enable event ports add this to your nginx.conf
events { use eventport; }
Here is our performance-proven configuration that we use on fabulously40
The follow configuration will help you survive massive traffic with nginx. We have served 4.4 million requests in a 4 hour time frame with no issues. That is 305req/sec.
worker_processes 8; worker_rlimit_nofile 10240; events { worker_connections 8024; use eventport; } http { keepalive_timeout 20; server_names_hash_bucket_size 64; sendfile on; tcp_nopush on; client_max_body_size 150m; gzip on; gzip_comp_level 5; gzip_vary on; gzip_proxied any; gzip_types text text/plain text/css text/xml application/xml text/javascript text/html application/x-javascript; }


Nice for sharing this.
Thanks for this. My Nginx site went from
Requests per second: 2539.71 [#/sec] (mean)
to
Requests per second: 3747.65 [#/sec] (mean)
It *is* documented, although it’s admittedly not something that jumps out at you:
http://wiki.nginx.org/NginxHttpEventsModule#use
http://wiki.nginx.org/NginxOptimizations
I would not use it since nginx would stop accepting connections after some time.