2 votos

Cómo aumentar el número máximo de conexiones de socket para Yosemite 10.10

Estoy tratando de probar una aplicación de servicio de red que permite un gran número de conexiones de socket simultáneas.

He ajustado /etc/sysctl.conf con lo siguiente:

kern.maxfiles=65536
kern.maxfilesperproc=65536
kern.ipc.somaxconn=10000

Con esto en su lugar, ulimit -n muestra que tengo un máximo de 65536 "archivos abiertos". Sin embargo, mi servicio sigue atascado en torno a la conexión número 1000.

Pensando que tal vez sea algo específico de la plataforma (Node), he reimplementado una versión simplificada en Golang, pero presenta el mismo problema.

También ocurre si divido la parte "cliente" en varios procs que abren cada uno un puñado de conexiones. El servicio siempre se atasca alrededor de la conexión número 1000.

lsof -p <pid> muestra 1011 conexiones IPv6 así:

gochat  25034 username  178u    IPv6 0x11c1273e19ee5c8f       0t0       TCP localhost:http-alt->localhost:50080 (ESTABLISHED)

¿Qué es lo que impone este límite máximo de conexiones de socket y cómo puedo ampliarlo?

1voto

nos Puntos 1641

Así pues, resulta que el Go biblioteca socketio tiene una configuración máxima por defecto de 1000 conexiones de socket simultáneas. Llamada a server.SetMaxConnection(10000) (en conjunción con un nivel adecuado de ulimit -n como se menciona en la pregunta) permitirá más de 1000 conexiones simultáneas de clientes.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X