Server IOCP
Acceptor basato sulle Windows I/O Completion Ports per l'alta concorrenza. Passa il server sgcWebSockets all'IOHandler IOCP e servi migliaia di connessioni da un pool di thread piccolo e fisso invece di un thread per connessione.
Acceptor basato sulle Windows I/O Completion Ports per l'alta concorrenza. Passa il server sgcWebSockets all'IOHandler IOCP e servi migliaia di connessioni da un pool di thread piccolo e fisso invece di un thread per connessione.
Una modalità I/O Completion Ports, solo per Windows, per i server sgcWebSockets standard. Abilitala tramite IOHandlerOptions per scalare ben oltre il modello predefinito di Indy con un thread per connessione.
TsgcWebSocketServer / TsgcWebSocketHTTPServer — abilitato tramite IOHandlerOptions.
Windows I/O Completion Ports (solo Windows).
Windows
Enterprise
Vai alla proprietà IOHandlerOptions e seleziona iohIOCP come IOHandler Type. Lascia il numero di thread a zero per dimensionarlo automaticamente dal numero di 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;
Come si comporta l'IOHandler IOCP e come ottimizzarlo.
Gestisci migliaia di connessioni da un pool di thread limitato invece di un thread per connessione, come fa Indy per impostazione predefinita.
Thread usati per le richieste asincrone (overlapped) IOCP. 0 li dimensiona automaticamente dal numero di processori. Su Delphi 7 e 2007 il valore predefinito è 32, perché cpucount non è disponibile.
Fissa una connessione allo stesso thread quando ne hai bisogno. Le richieste vengono normalmente distribuite sul pool, quindi ogni richiesta per una connessione può girare su un thread diverso. Imposta un valore maggiore di zero solo se ti serve. È un compromesso sulle prestazioni.
Consigliato quando devi gestire migliaia di connessioni. Se il tuo server arriva al massimo a un centinaio di connessioni concorrenti, il modello di thread predefinito di Indy va bene.
IOCP rileva un socket morto solo in scrittura. Abilita CleanDisconnect su TsgcWebSocketClient oppure un heartbeat lato server affinché il server venga a conoscenza della caduta e scatti OnDisconnect.
Fonti autorevoli per il meccanismo su cui si basa questa modalità.
Collegamenti diretti al riferimento della funzionalità, al progetto demo pronto all'uso e al download della versione di prova.
| Guida online — IOCP Riferimento della funzionalità per abilitare le Windows I/O Completion Ports sul server sgcWebSockets. | Apri | |
| Progetto demo — Demos\Server Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto. | Apri | |
| Manuale utente (PDF) Manuale completo che copre ogni componente della libreria. | Apri |