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.
Réponses
Trop de publicités?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
L'auteur de ROULAGE a écrit un article fascinant sur sondage vs sélectionnez vs événement bibliothèques.