¿La biblioteca erlang TCP/IP tiene algunas limitaciones? He hecho algunas búsquedas, pero no puedo encontrar ninguna respuesta definitiva.¿Número máximo de puertos abiertos simultáneos de Erlang?
He establecido la variable de entorno ERL_MAX_PORTS en 12000 y configurado Yaws para usar conexiones ilimitadas.
He escrito una sencilla aplicación de cliente que se conecta a un appmod que he escrito para Yaws y estoy probando el número de conexiones simultáneas lanzando X número de clientes, todo al mismo tiempo.
Me parece que cuando llego a alrededor de 100 clientes, el servidor pian deja de aceptar más conexiones TCP y los errores del cliente con
Error in process with exit value: {{badmatch,{error,socket_closed_remotely}}
sé que debe haber un límite para el número de conexiones simultáneas abiertas , pero 100 parece realmente bajo Revisé toda la documentación del pian y eliminé cualquier límite en las conexiones.
Esto es un Intel Core 2 Duo iMac de 2.16Ghz con Snow Leopard.
Una prueba rápida en una máquina Vista muestra que tengo los mismos problemas en unas 300 conexiones.
¿Mi examen no es razonable? Es decir. ¿Es tonto abrir más de 100 conexiones simultáneamente para probar la concurrencia de Yaws?
Gracias.
¿No 'socket_closed_remotely' sugiere que el problema está en el cliente? – Zed
Actualicé mi respuesta después de su edición, probablemente es porque las abre todas al mismo tiempo. – stacker
Zed: El mensaje de error es del lado del cliente, por lo que Yaws está cerrando el socket. No veo nada registrado en Yaws. – ckovacs