As portas de conclusão de E/S (Windows) ou E/S assíncrona (AIO) melhorarão o desempenho dos servidores multithread lidando com grande volume de solicitações?
-
21-09-2019 - |
Pergunta
Quero usar portas de conclusão de E/S para Windows e E/S assíncrona (AIO) para versões Solaris e Linux do meu aplicativo de servidor. O servidor de aplicativos é multithread e pode aceitar muitas conexões TCP simultâneas e pode processar muitas solicitações por conexão. Esses critérios são bem o suficiente para usar o mais recente AIO?. Existe alguma padronização usando qual código pode ser usado em todas as plataformas.
Obrigado, Naga
Solução
Cada solicitação será tratada por um tópico separado separado.
Não é assim que as portas de conclusão de E/S funcionam no Windows ... elas permitem que você use um número muito pequeno de threads para processar grandes quantidades de E/S.
Por exemplo, aqui: http://www.lenholgate.com/blog/2005/10/the-64000-connection-question.html Eu falo sobre como lidar com 64.000 conexões TCP ativas simultâneas com cerca de 4 threads ...
Para Linux, espero que a rota seja usada Libevent.
Para a plataforma cruzada, alguém certamente sugerirá ASIO.