Es puertos de E / S de terminación (Windows) o E / S asíncrona (AIO) mejorará el rendimiento de los servidores multiproceso manipulación gran volumen de solicitudes?

StackOverflow https://stackoverflow.com/questions/2490473

Pregunta

Quiero usar E / S de los puertos de finalización para Windows y E / S asíncrona (AIO) para Solaris y Linux versiones de mi aplicación de servidor. El servidor de aplicaciones es multiproceso y puede aceptar muchas conexiones TCP simultáneas y puede procesar muchas solicitudes por conenction. Es este criterio lo suficientemente bien para utilizar la última AIO ?. ¿Hay alguna estandarización mediante la cual un código se puede utilizar para todas las plataformas.

Gracias, Naga

¿Fue útil?

Solución

  

Cada solicitud será manejada por   hilo individual separada.

Así no es como I / O Puertos de finalización del trabajo en Windows ... Ellos le permiten utilizar un número muy pequeño de hilos para procesar grandes cantidades de E / S.

Por ejemplo, aquí: http: // www.lenholgate.com/blog/2005/10/the-64000-connection-question.html hablo de manejo de 64.000 conexiones TCP activas concurrentes con alrededor de 4 hilos ...

Para Linux espero que la ruta a tomar es utilizar libevent .

Para multiplataforma es seguro que alguien sugiera ASIO .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top