Esta pregunta se ha hecho anteriormente, pero no recientemente, y no tiene una respuesta clara.
Con Socket.io, ¿hay un número máximo de conexiones simultáneas que se pueden mantener antes de que necesite agregar otro servidor?
¿Alguien sabe de algún entorno de producción activo que esté usando websockets (particularmente socket.io) a gran escala? Realmente me gustaría saber qué tipo de configuración es mejor para conexiones máximas.
Debido a que los Websockets se construyen sobre TCP, tengo entendido que, a menos que los puertos se compartan entre las conexiones, estará limitado por el límite de puertos de 64K. Pero también he visto informes de conexiones de 512K usando Gretty . Entonces no lo sé.
Respuestas:
Este artículo puede ayudarlo en el camino: http://drewww.github.io/socket.io-benchmarking/
Me hice la misma pregunta, así que terminé escribiendo una pequeña prueba (usando XHR-polling) para ver cuándo las conexiones comenzaron a fallar (o retrasarse). Encontré (en mi caso) que los sockets comenzaron a funcionar alrededor de 1400-1800 conexiones simultáneas.
Esta es una breve descripción que hice, similar a la prueba que usé: https://gist.github.com/jmyrland/5535279
fuente
Traté de usar socket.io en AWS, como máximo puedo mantener estables alrededor de 600 conexiones.
Y descubrí que es porque socket.io usó el sondeo largo primero y luego actualizó a websocket.
después de configurar la configuración para usar solo websocket, puedo mantener alrededor de 9000 conexiones.
Establezca esta configuración en el lado del cliente:
fuente
Este tipo parece haber logrado tener más de 1 millón de conexiones simultáneas en un solo servidor Node.js.
http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/
Sin embargo, no me queda claro exactamente cuántos puertos estaba usando.
fuente
Para conexión simultánea de + 300k:
Establezca estas variables en
/etc/sysctl.conf
:Además, cambie estas variables en
/etc/security/limits.conf
:Y finalmente, aumente también los búferes de TCP en
/etc/sysctl.conf
:para obtener más información, consulte https://www.linangran.com/?p=547
fuente