64 votes

sélectionnez vs sondage vs epoll

Je suis en train de concevoir un nouveau serveur qui doit prendre en charge des milliers de connexions UDP (quelque part autour de 100 000 sessions). Quel est le meilleur mode de scrutin à utiliser pour la prise FDs? J'ai lu que epoll est mieux que le select/poll. Toute entrée ou suggestions sur laquelle utiliser? Merci.

44voto

Kalantir Points 301

Vous ne devriez pas être la conception d'un serveur à un soutien de 100 000 utilisateurs simultanés, sauf si vous savez vraiment ce que vous faites. Le fait que vous avez fait référence à "connexions udp" (Il n'y a aucune une telle chose!) et n'avez pas de connaissances préalables sur epoll implique que cette tâche est un peu au-delà de votre niveau de compétence actuel. Je recommande fortement de travailler sur un petit projet pour m'habituer à tout ce que vous allez utiliser dans le projet principal ou vous trouverez probablement vous-même vouloir à la refonte de la base de parties d'au moins une fois

Cependant, toutes les critiques de côté, la réponse est epoll si vous utilisez Linux, kqueue si vous utilisez FreeBSD et Mac OS X, et i/o ports de fin si vous êtes sur Windows.

Quelques autres choses que vous aurez (presque certainement) voulez la recherche sont:

  • Les techniques d'équilibrage de charge
  • Multi-thread de réseautage
  • Architecture de base de données
  • Les tables de hachage parfait

J'espère que ma réponse vous a été utile

40voto

unixman83 Points 2669

L'auteur de ROULAGE a écrit un article fascinant sur sondage vs sélectionnez vs événement bibliothèques.

18voto

Yann Ramin Points 25139

Linux: epoll FreeBSD: kqueue Windows: ??

Il y a wrapper bibliothèques, comme libevent et libev, ce qui possible de faire abstraction de cela pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X