2010-08-10 26 views
0

Nous développons actuellement une servlet qui diffusera de gros fichiers image vers un client. Nous essayons de déterminer combien de nœuds Jboss nous aurions besoin dans notre cluster avec un équilibreur de charge Apache mod_jk. Je sais qu'il faut environ 5000 millisecondes pour répondre à une seule requête. J'essaie d'utiliser le forumula ici http://people.apache.org/~mturk/docs/article/ftwai.html pour comprendre combien de connexions sont possibles, mais j'ai un problème parce qu'ils n'expliquent pas chacun des nombres dans la formule. Plus précisément, ils disent que vous devriez limiter chaque serveur à 200 demandes par CPU, mais je ne sais pas si je devrais l'utiliser dans la formule ou non. Chaque serveur que nous utilisons aura 8 cœurs donc je pense que l'une ou l'autre doit aller Préparations pour comme ceci:Nombre maximal de connexions simultanées jBoss

utilisateurs simultanés = (500/5000) * 200 * 8 = 100 utilisateurs simultanés

Ou comme ceci:

Utilisateurs simultanés = (500/5000) * (200 * 8) * 8 = ~ 1200 utilisateurs simultanés

Cela fait une grosse différence. Sans un exemple dans leur documentation, c'est difficile à dire. Quelqu'un pourrait-il clarifier?

Merci d'avance.

Répondre

1

Je suppose que ces images ne sont pas statiques, ou vous auriez arrêté à cette ligne?

La première chose à alléger la charge du Tomcat est d'utiliser le serveur Web pour du contenu statique comme des images, etc ..

Même si pas, vous avez des questions plus vastes d'un facteur 8: le but de sa formule est de déterminer le nombre de connexions simultanées que vous pouvez gérer sans AART (temps de réponse moyen de l'application) supérieur à 0,5 seconde. Votre application prend 5 secondes pour répondre à une seule requête. La formule que vous appliquez vous dit que 9 femmes peuvent produire un bébé en un mois.

Si vous acceptez que 0,5 seconde est l'AART maximum acceptable, vous devez d'abord être en mesure de répondre à une seule requête en < = 0,5 seconde.

Sinon, vous devez remplacer sa valeur pour AART maximale en ms (500) par la vôtre (qui doit être supérieure ou égale à votre AART réel). Enfin, en ce qui concerne la question de savoir si son terme CPU doit prendre en compte les cœurs: cela va varier en fonction de la charge de travail du CPU &. Si vous diffusez de grandes images, vous êtes probablement lié à l'E/S et non lié à un processeur. Vous devez tester. Maximiser les pools de threads de Tomcat & Ajoutez plus de charge jusqu'à ce que vous trouviez le point où votre AART se dégrade. C'est votre valeur réelle pour la seconde moitié de son équation. Mais à ce stade, vous pouvez continuer à tester et voir la valeur réelle pour "Utilisateurs simultanés" en déterminant quand l'AART dépasse votre maximum.