Hi,
We have in our production environment several servers that were once running tomcat directly on the edge to the web but since then have been modified so that the tomcat is proxied by nginx.
I have Zabbix set up to monitor ESTABLISHED and TIMEWAIT connections and plot them in a neat little graph. What I saw when we migrated from the former configuration to the latter is that the count of connections (of both states) increased dramatically. By dramatically I mean from hundreds to thousands and even tens of thousands.
Without understanding too much how nginx handles its connections, it seems like a complete tomcat request tore down the connections immediatly while nginx is somehow keeping a lot of them open for longer than necessary. Maybe it's by design. Maybe it's misconfiguration on our part. Maybe I'm missing something fundamental here.
We are using nginx 0.8.54
and the key config lines are as follows:
worker_processes 8;
events {
worker_connections 2048;
use epoll;
}
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html index.htm;
expires max;
}
location /loc1{
client_max_body_size 150m;
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
expires 1m;
}
location /loc2t {
client_max_body_size 150m;
proxy_pass http://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
expires 1m;
}
Thanks,
DB