Estoy experimentando un error (23: too many open files in system) en mi nginx debido a la gran cantidad de solicitudes de conexión de socket web abiertas.
el servicio de back-end que se ejecuta en una máquina completamente diferente y recibe un proxy_pass de este proceso nginx. Una vez que llego a cierto umbral, recibo el mensaje de error anterior. Traté de profundizar en la documentación de nginx pero no encontré nada útil. ¿Dónde se abren y crean los descriptores de archivos para esos sockets web? ¿Está en la máquina donde se ejecuta el proceso nginx o en la máquina donde se ejecuta el servicio?
Quiero aumentar el límite de archivos abiertos permitidos por proceso y no estoy seguro de en qué máquina necesito cambiarlo.
Aumente los descriptores máximos de archivos en el servidor nginx. El aumento debe ocurrir a nivel de kernel y usuario o nginx. Las pautas de ajuste proporcionan una explicación de por qué:
Los descriptores de archivos son recursos del sistema operativo que se utilizan para representar conexiones y abrir archivos, entre otras cosas. NGINX puede usar hasta dos descriptores de archivo por conexión. Por ejemplo, si NGINX es proxy, generalmente usa un descriptor de archivo para la conexión del cliente y otro para la conexión al servidor proxy, aunque esta proporción es mucho más baja si se usan keepalives HTTP.