Naplánujte proxy sockety NGINX dřív, než zvýšíte worker_connections
Proxované spojení obvykle zabírá soket klienta i upstreamu; rozlišujte limit spojení workeru od limitu deskriptorů souborů služby.
Jedno dlouhodobé proxované spojení obvykle zabírá dva sockety: klientský a upstreamový. worker_connections počítá obě strany. Násobení hodnotou worker_processes proto neslibuje kapacitu pro uživatele proxy.
Když spojení selhávají, řiďte se hlášeným limitem:
| Důkaz | Nastavení nebo stav procesu, který je třeba prověřit |
|---|---|
| vyčerpání worker_connections | Rozpočet spojení workeru včetně upstream socketů |
| Zpráva operačního systému „Příliš mnoho otevřených souborů“ | Limit deskriptorů souborů, který dědí skutečný proces služby |
Naslouchací sockety, logy a další otevřené soubory také spotřebovávají deskriptory. Opětovné použití spojení a směs provozu mění vztah mezi uživateli a sockety.
worker_rlimit_nofile upravuje limity workeru v mezích oprávnění prostředí. Unit systemd může nastavit LimitNOFILE; ulimit v interaktivním shellu běžící službu nezmění.
Nastavte limity podle zátěže a prověřte, kdo je spotřebovává. Nečekaní klienti nebo opakovaně selhávající upstream spojení mohou vyčerpat dříve dostačující rozpočet. Větší počet procesů nebo limit paměti nedostatek deskriptorů neopraví.