Servidor IOCP
Aceptador de Windows I/O Completion Ports para alta concurrencia. Cambie el servidor sgcWebSockets al IOHandler IOCP y atienda miles de conexiones desde un pool de hilos pequeño y fijo en lugar de un hilo por conexión.
Aceptador de Windows I/O Completion Ports para alta concurrencia. Cambie el servidor sgcWebSockets al IOHandler IOCP y atienda miles de conexiones desde un pool de hilos pequeño y fijo en lugar de un hilo por conexión.
Un modo de Windows I/O Completion Ports, solo para Windows, para los servidores estándar de sgcWebSockets. Actívelo mediante IOHandlerOptions para escalar mucho más allá del modelo Indy por defecto de un hilo por conexión.
TsgcWebSocketServer / TsgcWebSocketHTTPServer — activado mediante IOHandlerOptions.
Windows I/O Completion Ports (solo Windows).
Windows
Enterprise
Vaya a la propiedad IOHandlerOptions y seleccione iohIOCP como IOHandler Type. Deje los contadores de hilos a cero para dimensionarlos automáticamente a partir del número de CPU.
Server.IOHandlerOptions.IOHandlerType := iohIOCP;
Server.IOHandlerOptions.IOCP.IOCPThreads := 0;
Server.IOHandlerOptions.IOCP.WorkOpThreads := 0;
Server->IOHandlerOptions->IOHandlerType = iohIOCP;
Server->IOHandlerOptions->IOCP->IOCPThreads = 0;
Server->IOHandlerOptions->IOCP->WorkOpThreads = 0;
Server.IOHandlerOptions.IOHandlerType = iohIOCP;
Server.IOHandlerOptions.IOCP.IOCPThreads = 0;
Server.IOHandlerOptions.IOCP.WorkOpThreads = 0;
Cómo se comporta el IOHandler IOCP y cómo ajustarlo.
Atienda miles de conexiones desde un pool de hilos limitado en lugar de un hilo por conexión, como funciona Indy por defecto.
Hilos usados para las peticiones asíncronas (overlapped) de IOCP. 0 los dimensiona automáticamente a partir del número de procesadores. En Delphi 7 y 2007 el valor por defecto es 32, porque cpucount no está disponible.
Fije una conexión al mismo hilo cuando lo necesite. Las peticiones se reparten normalmente por el pool, de modo que cada petición de una conexión puede ejecutarse en un hilo distinto. Establezca un valor mayor que cero solo si lo requiere. Es un compromiso de rendimiento.
Recomendado cuando necesite atender miles de conexiones. Si su servidor se queda en torno a las 100 conexiones simultáneas, el modelo de hilos por defecto de Indy es suficiente.
IOCP detecta un socket caído solo al escribir. Active CleanDisconnect en TsgcWebSocketClient o un heartbeat del lado del servidor para que el servidor se entere de la caída y se dispare OnDisconnect.
Fuentes autorizadas del mecanismo sobre el que se construye este modo.
Accede directamente a la referencia de la función, descarga el proyecto demo listo para ejecutar y descarga la prueba.
| Ayuda en línea — IOCP Referencia de la función para activar Windows I/O Completion Ports en el servidor sgcWebSockets. | Abrir | |
| Proyecto demo — Demos\Server Proyecto de ejemplo listo para ejecutar. Se incluye en el paquete sgcWebSockets — descarga la prueba más abajo. | Abrir | |
| Manual de usuario (PDF) Manual completo que cubre todos los componentes de la biblioteca. | Abrir |