Dimensiona os sockets de proxy de NGINX antes de subir worker_connections
Unha conexión por proxy adoita ocupar un socket de cliente e outro de upstream; distingue o límite de conexións do worker do límite de descritores de ficheiro do servizo.
Unha conexión por proxy de longa duración adoita ocupar dous sockets: o do cliente e o do upstream. worker_connections conta ambos os lados. Por iso, multiplicalo por worker_processes non promete capacidade aos usuarios do proxy.
Cando fallan as conexións, segue o límite indicado:
| Evidencia | Axuste ou estado do proceso que hai que inspeccionar |
|---|---|
| esgotamento de worker_connections | O orzamento de conexións do worker, incluídos os sockets de upstream |
| Mensaxe do sistema operativo «Demasiados ficheiros abertos» | O límite de descritores de ficheiro que herda o proceso real do servizo |
Os sockets de escoita, os rexistros e outros ficheiros abertos tamén consomen descritores. A reutilización de conexións e a mestura de tráfico cambian a relación entre usuarios e sockets.
worker_rlimit_nofile axusta os límites do worker segundo os permisos da contorna. Unha unidade de systemd pode fixar LimitNOFILE; o ulimit dunha consola interactiva non cambia o servizo en execución.
Dimensiona os límites segundo a carga de traballo e inspecciona quen os consome. Clientes inesperados ou conexións de upstream que fallan repetidamente poden esgotar un orzamento antes suficiente. Un maior número de procesos ou un límite de memoria non reparan a falta de descritores.