Planirajte NGINX proxy sockete prije povećanja worker_connections
Proksirana veza obično zauzima i klijentski i upstream socket; razlikujte ograničenje veza workera od ograničenja datotečnih deskriptora servisa.
Jedna dugotrajna proksirana veza obično zauzima dva socketa: klijentski i upstream. worker_connections broji obje strane. Zato množenje s worker_processes ne daje obećanje kapaciteta za korisnike proxyja.
Kada veze ne uspevaju, sledite prijavljeno ograničenje:
| Dokaz | Postavka ili stanje procesa koje treba proveriti |
|---|---|
| iscrpljenost worker_connections | Budžet veza workera, uključujući upstream sockete |
| Poruka operativnog sistema „Previše otvorenih datoteka“ | Ograničenje datotečnih deskriptora koje nasleđuje stvarni proces servisa |
Sockets za slušanje, zapisi i druge otvorene datoteke takođe troše deskriptore. Ponovno korišćenje veza i mešavina prometa menjaju odnos između korisnika i socketa.
worker_rlimit_nofile prilagođava ograničenja workera u granicama dozvola okruženja. systemd jedinica može postaviti LimitNOFILE; ulimit u interaktivnoj ljusci ne menja pokrenuti servis.
Dimenzionirajte ograničenja prema radnom opterećenju i proverite ko ih troši. Neočekivani klijenti ili upstream veze koje stalno padaju mogu iscrpiti ranije dovoljan budžet. Veći broj procesa ili ograničenje memorije ne popravlja nedostatak deskriptora.