Estoy tratando de optimizar múltiples conexiones por vez a un servidor de socket TCP.¿Nuevo subproceso por conexión de cliente en el servidor de socket?
¿Se considera una buena práctica, o incluso racional, iniciar un nuevo hilo en el servidor de escucha cada vez que recibo una solicitud de conexión?
¿A qué hora debería comenzar a preocuparme por un servidor basado en esta infraestructura? ¿Cuál es el número máximo de hilos de fondo que puedo trabajar, hasta que ya no tiene sentido?
La plataforma es C#, el marco es Mono, el sistema operativo objetivo es CentOS, la RAM es 2.4G, el servidor está en las nubes, y estoy esperando aproximadamente 200 solicitudes de conexión por segundo.
@codeka ¿Qué ocurre con el proceso por conexión? cuando el cliente se conecta al servidor. servidor crea un proceso diferente y lo redirige al cliente? –
Bueno, técnicamente es lo mismo con un proceso por conexión. Es por eso que Apache (por ejemplo) ahora utiliza un grupo de "procesos de trabajo" para manejar solicitudes simultáneas, en lugar de un proceso por conexión. –
+1 por mencionar los grupos de subprocesos ... podría ser un buen enfoque para que OP implemente –