Jedno długotrwałe połączenie przez proxy zajmuje zwykle dwa gniazda: klienta i upstream. worker_connections liczy obie strony. Pomnożenie go przez worker_processes nie daje więc obietnicy przepustowości dla użytkowników proxy.

Gdy połączenia zawodzą, postępuj zgodnie z zgłoszonym limitem:

DowódUstawienie lub stan procesu do sprawdzenia
wyczerpanie worker_connectionsBudżet połączeń workera, łącznie z gniazdami upstream
Komunikat systemu „Zbyt wiele otwartych plików”Limit deskryptorów plików dziedziczony przez rzeczywisty proces usługi

Gniazda nasłuchujące, logi i inne otwarte pliki również zużywają deskryptory. Ponowne użycie połączeń i mieszanka ruchu zmieniają relację między użytkownikami a gniazdami.

worker_rlimit_nofile dostraja limity workera w granicach uprawnień środowiska. Jednostka systemd może ustawić LimitNOFILE; ulimit w powłoce interaktywnej nie zmienia działającej usługi.

Dobierz limity do obciążenia i sprawdź, kto je zużywa. Nieoczekiwani klienci lub wielokrotnie zawodzące połączenia upstream mogą wyczerpać wcześniej wystarczający budżet. Większa liczba procesów lub limit pamięci nie naprawia braku deskryptorów.

Powiązane artykuły