Thomas: nginx, Reverse Proxy & Request Limit

Beitrag lesen

Hallo,

ich habe mit meinem Server (Debian Squeeze, nginx 1.0.5) ein kleines Problem.
Die ankommenden Requests werden mittels nginx zu einer Applikation auf dem Server, für die weitere Bearbeitung, weitergeleitet.

Hier der Auszug aus der nginx.conf:

worker_processes 3;  
worker_rlimit_nofile 50000;  
timer_resolution  1000ms;  
pid /var/run/nginx.pid;  
  
events {  
  worker_connections  20000;  
  multi_accept on;  
}  
  
...  
  
server {  
  listen 80;  
  server_name meine.seite;  
  
  charset utf-8;  
  
  location / {  
    proxy_pass http://127.0.0.1:8000/;  
    proxy_set_header X-Real-IP  $remote_addr;  
    proxy_set_header Host 127.0.0.1;  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
    proxy_redirect off;  
    client_max_body_size 256k;  
    client_body_buffer_size 256k;  
    proxy_connect_timeout 300;  
    proxy_send_timeout 300;  
    proxy_read_timeout 300;  
    proxy_buffer_size 256k;  
    proxy_buffers 4 256k;  
    proxy_busy_buffers_size 256k;  
    proxy_temp_file_write_size 256k;  
  }  
}

Doch es kommt nur (grob geschätzt) jeder zehnte Request wirklich ans Ziel (pro Minute kommen etwa 10000 Anfragen). Die Restlichen bekommen ein "Connection timed out".

Die nginx error.log wird geflutet mit:
connect() failed (110: Connection timed out) while connecting to upstream, client:

Ich weiß nicht woran es liegen kann. Habe schon den Wert fs.file-max in der /etc/sysctl.conf und ulimit -n erhöht. Sonst habe ich keine weiteren Ideen. Greife ich auf 127.0.0.1:8000 zu gibt es keine Probleme, die Anwendung arbeitet. Gibt es irgendwie ein Limit, welches ich noch nicht entdeckt habe?

MFG
Thomas