2010-10-02 19 views
2

J'ai besoin d'un point de départ. J'ai lu de Yakov Fain au sujet d'une percée de représentation avec la jetée et les flambées.Jetée ou Tomcat avec E/S non bloquantes (servlet 3.0)

Je me suis rendu compte que nous avions déjà quelques problèmes avec environ 1200 utilisateurs simultanés, certains consommateurs ne reçoivent pas de messages et le processeur est sous le feu nourri.

Est-ce que quelqu'un a déjà essayé ce Nio avec BlazeDS? Cela a-t-il fonctionné avec Tomcat aussi? Par où commencer et de quoi ai-je besoin pour améliorer les performances de messagerie?

Merci beaucoup!

+0

Mise à jour: Il ya longtemps, mais depuis que nous avons commencé à utiliser Jetty7 (maintenant Jetty8) avec org.mortbay.jetty.asyncblazeds.AsyncAMFEndpoint et Long Polling, il se sent comme un streaming très rapide presque en temps réel. Si quelqu'un s'intéresse à la façon dont nous avons configuré notre application (c'est beaucoup à poster), n'hésitez pas à demander. –

Répondre

1

Je suggérerais avant de vous engager dans la personnalisation de BlazeDS pour soutenir NIO que vous profilez votre application et vérifiez que les hotspots sont. Avez-vous vérifié que c'est la pile réseau BlazeDS qui cause les messages perdus? Avez-vous profilé votre code pour voir s'il y a des optimisations qui peuvent être faites pour optimiser le traitement des messages?

Certains prétendent réellement Java NIO ne s'améliore pas réellement traversantes mis - http://paultyma.blogspot.com/2008/03/writing-java-multithreaded-servers.html

Je dis cela parce BlazeDS ne supporte pas NIO seule la version commerciale du serveur fait - LCDS. Qu'est-ce que LCDS met en place ses propres sockets NIO et gère les demandes via ces connexions, en contournant la pile de servlet standard. Pour obtenir le support NIO, Yakov a déclaré: «Pour supporter des milliers d'utilisateurs simultanés, vous devez également personnaliser la couche réseau de BlazeDS». Je serais prêt à deviner que cette couche réseau personnalisée n'est pas prête pour la production et est plutôt un prototype. la couche réseau de n'importe quel serveur.

+0

Il ne s'agit pas de débit, mais plutôt de nombre de connexions simultanées. – user359996

+0

Vous avez raison, mais nous espérons que ce sera standard et pris en charge dans un proche avenir ... –

+0

La question originale de l'OP a référencé Yakov Fain (de Farata Systems) qui a écrit un livre sur les applications Enterprise Flex et dans lequel il fournit NIO personnalisé, vrai -push, points de fin de messagerie avec BlazeDS, pas LCDS. Il annule effectivement la nécessité d'acheter des LCDS tant que nous avons de véritables serveurs d'applications API 3.0 comme Jetty 7 et Tomcat 7. – HDave