Ce face worker_connections
worker_connections se scrie în blocul events și limitează conexiunile deschise simultan de un worker. Numărul total aproximativ de clienți serviți simultan este worker_processes × worker_connections.
Limita include toate conexiunile, nu doar pe cele cu vizitatorii: la reverse proxy, fiecare vizitator folosește o conexiune spre client și una spre aplicația din spate, deci capacitatea efectivă este cam la jumătate.
Când limita este atinsă, Nginx scrie în jurnalul de erori worker_connections are not enough și refuză conexiuni noi. Limita de fișiere deschise a sistemului (ulimit -n sau worker_rlimit_nofile) trebuie să fie cel puțin la fel de mare.
Parametri
| Parametru | Descriere |
|---|---|
Context |
events. |
Implicit |
worker_connections 512; |
multi_accept |
Implicit off. on = un worker acceptă toate conexiunile noi deodată. |
Ce returnează
Nimic; se aplică la pornire sau la reîncărcare.
Exemple
Exemplul 1: Server cu trafic mare
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 8192;
multi_accept on;
}
Exemplul 2: Limita atinsă în timpul unui vârf de trafic
grep 'not enough' /var/log/nginx/error.log | tail -n 1
Ieșire în terminal
2026/10/25 20:14:52 [alert] 814#814: 1024 worker_connections are not enough
Exemplul 3: Limita sistemului mai mică decât worker_connections
Lipsește worker_rlimit_nofile, iar limita implicită de fișiere deschise este 1024.
sudo nginx -t
Ieșire în terminal
nginx: [warn] 8192 worker_connections exceed open file resource limit: 1024
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Greșeli frecvente
- Ridici
worker_connectionsla 65535 fără să ridici limita de fișiere deschise: avertismentul de langinx -tarată problema. - Calculezi capacitatea fără să ții cont că la proxy fiecare vizitator folosește două conexiuni.
Comenzi înrudite
worker_processes: Stabilește câte procese worker pornește Nginx. Valoarea auto pornește câte unul pentru fiecare nucleu de procesor.keepalive_timeout: Cât timp păstrează Nginx deschisă o conexiune inactivă cu clientul, ca următoarele cereri să nu mai deschidă una nouă.