O conexiune prin proxy de lungă durată ocupă de obicei două socketuri: al clientului și al upstreamului. worker_connections numără ambele părți. De aceea, înmulțirea cu worker_processes nu promite capacitate utilizatorilor de proxy.

Când conexiunile eșuează, urmează limita raportată:

DovadăSetare sau stare a procesului de inspectat
epuizarea worker_connectionsBugetul de conexiuni al workerului, inclusiv socketurile upstream
Mesajul sistemului de operare „Prea multe fișiere deschise”Limita de descriptori de fișier moștenită de procesul real al serviciului

Socketurile de ascultare, jurnalele și alte fișiere deschise consumă și ele descriptori. Reutilizarea conexiunilor și mixul de trafic schimbă relația dintre utilizatori și socketuri.

worker_rlimit_nofile ajustează limitele workerului în limitele permisiunilor mediului. O unitate systemd poate seta LimitNOFILE; ulimit dintr-un shell interactiv nu schimbă serviciul care rulează.

Dimensionează limitele în funcție de încărcare și verifică cine le consumă. Clienții neașteptați sau conexiunile upstream care eșuează repetat pot epuiza un buget anterior suficient. Un număr mai mare de procese sau o limită de memorie nu repară lipsa descriptorilor.

Articole similare