Budgetera NGINX-proxysockets innan du höjer worker_connections
En proxad anslutning använder oftast både en klient- och en upstream-socket; skilj arbetarens anslutningsgräns från tjänstens gräns för filbeskrivare.
En långlivad proxad anslutning upptar oftast två sockets: klientens och upstreamens. worker_connections räknar båda sidor. Att multiplicera det med worker_processes ger därför inget löfte om kapacitet för proxyanvändare.
När anslutningar misslyckas, följ den rapporterade gränsen:
| Bevis | Inställning eller processtillstånd att undersöka |
|---|---|
| utmattning av worker_connections | Arbetarens anslutningsbudget, inklusive upstream-sockets |
| Operativsystemets ”För många öppna filer” | Gränsen för filbeskrivare som den faktiska tjänsteprocessen ärver |
Lyssnarsockets, loggar och andra öppna filer förbrukar också beskrivare. Återanvändning av anslutningar och trafikmixen förändrar förhållandet mellan användare och sockets.
worker_rlimit_nofile justerar arbetarens gränser inom miljöns behörigheter. En systemd-enhet kan sätta LimitNOFILE; ulimit i ett interaktivt skal ändrar inte tjänsten som körs.
Dimensionera gränserna efter arbetsbelastningen och undersök vem som förbrukar dem. Oväntade klienter eller upprepade upstream-fel kan tömma en budget som tidigare räckte. Ett högre processtal eller minnesgräns reparerar inte brist på beskrivare.