Est E / S ports d'achèvement (Windows) ou E / S asynchrones (AIO) améliorera les performances des serveurs multithread manutention grand nombre de demandes?

StackOverflow https://stackoverflow.com/questions/2490473

Question

Je veux utiliser pour solaris et versions Linux de mon application serveur E / S ports d'achèvement pour Windows et E / S asynchrones (AIO). Le serveur d'application est multithread et il peut accepter beaucoup de connexions TCP simultanées et peut traiter de nombreuses demandes par conenction. Est-ce critère assez bien pour utiliser la dernière AIO ?. Y at-il la normalisation en utilisant un seul code qui peut être utilisé pour toutes les plates-formes.

Merci, Naga

Était-ce utile?

La solution

  

sera traitée Chaque demande   individuelle fil individuel.

Ce n'est pas comment E / S ports d'achèvement travaille sous Windows ... Ils vous permettent d'utiliser un très petit nombre de threads pour traiter de grandes quantités de E / S.

Par exemple, ici: http: // www.lenholgate.com/blog/2005/10/the-64000-connection-question.html je parle de manipulation 64.000 connexions TCP actives simultanées avec environ 4 fils ...

Pour Linux Je pense que le chemin à suivre est d'utiliser libevent .

Pour quelqu'un multi-plateforme est sûr de proposer ASIO .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top