2010-05-18 5 views
2

J'ai écrit un serveur proxy pour Linux en utilisant Poco, mais j'ai depuis étudié les différentes approches pour atteindre l'évolutivité du serveur TCP/IP. J'ai besoin du serveur pour gérer les connexions persistantes (pas le trafic HTTP) avec une limite supérieure d'environ 250 connexions simultanées. Chaque connexion utilise généralement environ 5 à 10 Kb/s et la meilleure latence pour gérer le trafic est cruciale. En l'état, j'utilise le Poco SocketReactor qui utilise le modèle Reactor avec un appel select() en son cœur mais j'ai eu une lecture sur le problème C10K ainsi que quelques autres ressources et il semble que l'utilisation de cette approche pourrait ne pas être la meilleure idée. Je crois qu'il existe une implémentation de test dans les librairies Poco qui utilise poll() donc cela pourrait être une option pour améliorer les choses.Évolutivité Poco SocketReactor

Quelqu'un a-t-il déjà utilisé un Poco SocketReactor et avez-vous une idée de son évolution? Si cela ne va pas bien, des suggestions sur les alternatives seraient appréciées.

Répondre

0

Sous Windows Poco utilise-t select(), mais sous Linux/BSD/OS X, il utilisera la meilleure application possible de:

  • select()
  • poll()
  • epoll ()
  • /dev/poll