Serveur IOCP
Accepteur Windows I/O Completion Ports pour une forte concurrence. Bascule le serveur sgcWebSockets vers l'IOHandler IOCP et sers des milliers de connexions depuis un petit pool de threads fixe au lieu d'un thread par connexion.
Accepteur Windows I/O Completion Ports pour une forte concurrence. Bascule le serveur sgcWebSockets vers l'IOHandler IOCP et sers des milliers de connexions depuis un petit pool de threads fixe au lieu d'un thread par connexion.
Un mode I/O Completion Ports Windows uniquement pour les serveurs sgcWebSockets standards. Active-le via IOHandlerOptions pour monter en charge bien au-delà du modèle Indy par défaut, un thread par connexion.
TsgcWebSocketServer / TsgcWebSocketHTTPServer — activé via IOHandlerOptions.
Windows I/O Completion Ports (Windows uniquement).
Windows
Enterprise
Va dans la propriété IOHandlerOptions et sélectionne iohIOCP comme IOHandler Type. Laisse les nombres de threads à zéro pour un dimensionnement automatique selon le nombre 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;
Comment l'IOHandler IOCP se comporte et comment l'ajuster.
Gère des milliers de connexions depuis un pool de threads limité au lieu d'un thread par connexion, comme le fait Indy par défaut.
Threads utilisés pour les requêtes asynchrones (overlapped) IOCP. 0 dimensionne automatiquement selon le nombre de processeurs. Sur Delphi 7 et 2007 la valeur par défaut est 32, car cpucount n'est pas disponible.
Épingle une connexion au même thread lorsque tu en as besoin. Les requêtes sont normalement réparties sur le pool, de sorte que chaque requête d'une connexion peut s'exécuter sur un thread différent. Mets une valeur supérieure à zéro uniquement si tu en as besoin. C'est un compromis de performance.
Recommandé lorsque tu dois gérer des milliers de connexions. Si ton serveur plafonne autour de 100 connexions concurrentes, le modèle de threads Indy par défaut convient.
IOCP détecte un socket mort seulement lors d'une écriture. Active CleanDisconnect sur TsgcWebSocketClient ou un heartbeat côté serveur afin que le serveur apprenne la coupure et que OnDisconnect se déclenche.
Sources faisant autorité pour le mécanisme sur lequel ce mode est bâti.
Lien direct vers la référence de la fonctionnalité, récupère le projet de démo prêt à l'emploi et télécharge l'essai.
| Aide en ligne — IOCP Référence de la fonctionnalité pour activer les Windows I/O Completion Ports sur le serveur sgcWebSockets. | Ouvrir | |
| Projet de démo — Demos\Server Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque. | Ouvrir |