Tervezze meg az NGINX proxy socketjeit a worker_connections növelése előtt
Egy proxizott kapcsolat általában egy kliens- és egy upstream socketet foglal; különböztesse meg a worker kapcsolati korlátját a szolgáltatás fájlleíró-korlátjától.
Egy hosszú életű proxizott kapcsolat általában két socketet foglal: a kliensét és az upstreamét. A worker_connections mindkét oldalt számolja. Ezért a worker_processes-gyel való megszorzása nem ígér kapacitást a proxy felhasználóinak.
Ha a kapcsolatok meghibásodnak, kövesse a jelzett korlátot:
| Bizonyíték | Ellenőrizendő beállítás vagy folyamatállapot |
|---|---|
| a worker_connections kimerülése | A worker kapcsolati kerete, az upstream socketekkel együtt |
| Az operációs rendszer „Túl sok nyitott fájl” üzenete | A tényleges szolgáltatási folyamat által örökölt fájlleíró-korlát |
A figyelő socketek, a naplók és más nyitott fájlok szintén leírókat fogyasztanak. A kapcsolatok újrafelhasználása és a forgalom összetétele megváltoztatja a felhasználók és a socketek viszonyát.
A worker_rlimit_nofile a környezet engedélyeinek függvényében módosítja a worker korlátait. Egy systemd unit beállíthatja a LimitNOFILE értéket; egy interaktív shell ulimit értéke nem változtatja meg a futó szolgáltatást.
A korlátokat a munkaterheléshez méretezze, és vizsgálja meg, ki fogyasztja azokat. A váratlan kliensek vagy az ismételten meghibásodó upstream kapcsolatok kimeríthetnek egy korábban elegendő keretet. A nagyobb folyamatszám vagy memóriakorlát nem javítja a leíróhiányt.