È porte I / O di completamento (Windows) o I / O asincrono (AIO) migliorerà le prestazioni di gestire grandi volumi di richieste i server multithread?
-
21-09-2019 - |
Domanda
Voglio usare I / O porte di completamento per Windows e I / O asincrono (AIO) per Solaris e Linux versioni della mia applicazione server. Il server di applicazione è multithread e può accettare sacco di connessioni TCP simultanee e in grado di elaborare molte richieste per conenction. È questo criterio abbastanza bene per utilizzare l'ultima AIO ?. C'è qualche standardizzazione utilizzando che un codice può essere utilizzato per tutte le piattaforme.
Grazie, Naga
Soluzione
Ogni richiesta sarà gestito da filo separato indipendente.
Non è così che I / O Ports completamento dei lavori su Windows ... Essi consentono di utilizzare un piccolo numero di thread per elaborare grandi quantità di I / O.
Per esempio, ecco: http: // www.lenholgate.com/blog/2005/10/the-64000-connection-question.html parlo di gestire 64.000 connessioni simultanee TCP attive con circa 4 fili ...
Per Linux mi aspetto che la strada da percorrere è quella di utilizzare libevent .
Per la piattaforma trasversale qualcuno è sicuro di suggerire ASIO .