Quel est le nombre maximal de active websocket prise en charge de connexions par tomcat 7.0
Je suis en train de développer un jeu de serveur actuellement, pour éviter de développer le serveur à partir de zéro, tomcat 7.0 est employé afin que je puisse me concentrer sur la logique du jeu.
De Base sur l'exigence, j'utilise websocket pour communiquer avec les clients, mais lorsque plusieurs clients se sont connectés au serveur, une nouvelle connexion ne peut pas être établie, je doute que le nombre de connexions établies a atteint le maximum. Par la voie, AVR connecteur est utilisé par tomcat.
Donc, mes questions sont les suivantes:
- Quel est le nombre maximal de active websocket prise en charge de connexions par tomcat 7.0.
- Comment le configurer.
- Est qu'il ya une solution d'équilibrage de la charge de websocket, car apache et mod_jk ne peuvent pas être utilisés pour l'équilibrage de la charge maintenant.
Toute aide sera appréciée, merci d'avance!
Vous devez vous connecter pour publier un commentaire.
POUR atteindre le max vivante connexion websocket dans Tomcat, à la suite de modifications de configuration doivent être faites.
{CATALINA_HOME}/conf/server.xml
<Connector connectionTimeout="-1" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"
maxConnections="100000" acceptCount="300"/>
Vérifier le nombre de ports qui sont disponibles pour une utilisation dans le m/c où: Tomcat est déployé:
cat /proc/sys/net/ipv4/ip_local_port_range
Changer ce à partir de 50 jusqu'à 65535.
La configuration ci-dessus permet des changements autour de ~50k connexions en temps réel dans une de 2 go Intel Core i5 machine à condition que le serveur et le client sont en cours d'exécution sur différentes machines.
Le nombre total de websocket les connexions sont déterminés par le nombre de descripteurs de fichiers ouverts permise par l'OS sur lequel serveur websocket( tomcat exemple dans ce cas) est en cours d'exécution.Sur une machine unix, nous avons une limite de 75000 descripteurs de fichiers, mais je ne suis pas sûr si il ya une limite stricte sur tomcat, capacité de pondre de nouveaux sockets
pour vos deux premières question, je pense que la réponse peut être trouvée dans le server.xml fichier dans le dossier conf de tomcat (~/conf/server.xml) voir l'Exécuteur de la balise et aussi les attributs et les paramètres de connecteur les liens suivants peuvent vous aider (je les ai fait à partir de server.xml commentaires du fichier):
Java Tomcat HTTP Connecteur
Que la documentation dit que vous pouvez utiliser les attributs de connecteur ou de l'utilisation de l'Exécuteur testamentaire et de faire le lien avec le connecteur, voir la description de l'exécuteur testamentaire de l'attribut dans le connecteur de la balise:
Aussi, vous pouvez remplacer le nombre de connexions pour Java connecteur AJP: voir la
documentation suivante:
Java Connecteur AJP
pour votre dernière question, je pense que si ne pouvez pas utiliser la réplication et l'équilibrage de la charge des outils pour l'instant, alors la réponse est à la fin de votre travail à l'intérieur du serveur dès que possible afin de libérer les ressources et de les rendre disponibles à d'autres clients.