Apache + Tomcat avec mod_jk: maxThread paramètre lors de l'équilibrage de la charge
J'ai Apache + Tomcat installation avec mod_jk sur les 2 serveurs. Chaque serveur a son propre Apache+Tomcat paire, et chaque requête est traitée par Tomcat équilibrage de la charge des travailleurs sur les 2 serveurs.
J'ai une question sur la façon de Apache maxClient
et Tomcat maxThread
doit être définie.
Les valeurs par défaut sont,
Apache: maxClient=150, Tomcat: maxThread=200
Dans cette configuration, si nous avons seulement 1 installation du serveur, il serait très bien fonctionner comme Tomcat travailleur ne reçoit les connexions entrantes plus de 150 à la fois. Cependant, si nous sommes d'équilibrage de la charge entre les 2 serveurs, serait-il possible que le serveur Tomcat travailleur reçoit 150 + (certaines nombre à partir d'un autre serveur) et de faire de la maxThread débordement comme SEVERE: All threads (200) are currently busy
?
Si oui, dois-je configurer Tomcat maxThread=300
dans ce cas?
Grâce
- Dans vos 2 installation du serveur, comment est l'équilibrage de la charge à travers les deux Apaches?
- C'est fait par un routeur. Mais il ne fait pas de filtrage par le volume de trafic. De sorte que chaque Apache peut recevoir 150 demandes(et plus) à la fois.
Vous devez vous connecter pour publier un commentaire.
Réglage maxThreads à 300 doit être fine - il n'y a pas de règles fixes. Cela dépend si vous voyez des connexions être refusé.
Trop augmenter les causes forte consommation de la mémoire, mais la production de Matous sont connus pour fonctionner avec 750 threads. Voir ici aussi. http://java-monitor.com/forum/showthread.php?t=235
Avez-vous réellement obtenu le
SEVERE
erreur? Je l'ai testé sur notre Tomcat 6.0.20 et il lance un message d'information lors de la maxThreads est franchi.De ne pas refuser les connexions jusqu'à ce que le
acceptCount
valeur est franchi. La valeur par défaut est 100.De l'Tomcat docs http://tomcat.apache.org/tomcat-5.5-doc/config/http.html
La façon dont cela fonctionne est
1) Que le nombre de demandes simultanées d'augmenter, les threads seront créés à la configuration maximale (la valeur de la maxThreads attribut).
Donc dans votre cas, le message "nombre Maximal de threads (200) créé" apparaît à ce stade. Cependant, les requêtes seront toujours en file d'attente pour le service.
2) Si toujours plus de demandes simultanées sont reçus, ils sont mis en file d'attente jusqu'à la configuration maximale (la valeur de la acceptCount attribut).
Donc un total de 300 demandes peuvent être acceptées sans échec. (en supposant que votre acceptCount est à défaut de 100)
3) la Traversée de ce nombre de lancers Connexion Refusée erreurs, jusqu'à ce que des ressources soient disponibles pour les traiter.
De sorte que vous devriez être bien jusqu'à ce que vous frappez l'étape 3