2010-05-21 10 views
0

Nous avons une toute nouvelle application Web qui fonctionne sur Tomcat. Jusqu'à présent, un seul client l'utilise tout au long de la journée. Ils exécutent environ 180 connexions uniques par jour. Pas vraiment beaucoup IMO. Maintenant, nous avons réussi à le vendre à un tout nouveau client qui aime et veut le proposer à 50 000 clients. Combien d'entre eux vont se connecter en même temps - aucune idée. Mais j'ai besoin de tout faire - allouer, créer, config et maintenir. OK - la dernière est simple (errrr).Comment estimer les exigences du serveur Tomcat?

L'application s'exécute de Tomcat 5.5 sur Gentoo (je pense à mettre à niveau vers Tomcat 6) avec MSSQL & mySQL derrière. Je me rends compte qu'une application plus prête pour l'entreprise serait un meilleur ajustement, mais ce n'est pas une option pour le moment. Comme je n'ai jamais fait ça auparavant, je suis un peu perdu. Quelqu'un peut-il donner des conseils sur la façon d'évaluer les besoins en équipement de ce client? Tomcat a un clustering, ce que je peux faire. MS SQL - Je suis sûr qu'ils ont quelque chose aussi. Je pense à coller derrière LVS (que nous utilisons en ce moment pour quelque chose d'autre aussi).

Toute aide de personnes qui s'occupent de ces détails est grandement appréciée!

+0

Appartient à serverfault.com. – BalusC

Répondre

0

1) Déterminez le temps de latence acceptable pour les pages à afficher de manière acceptable.
2) Déterminer la quantité moyenne et maximale des utilisateurs simultanés.
3) Obtenez un outil comme http://sourceforge.net/projects/httperf/ et exécutez avec ces nombres.
4) Si vous êtes toujours OK, courez au point où votre application n'est plus acceptable.
5) Tune
6) Passez à l'étape 3.

Le problème avec vous donnant une taille pour vos besoins est que toutes les applications sont différentes. Cela dépend vraiment de la taille de vos requêtes, de la fréquence, et de la taille de chacun, cela dépend aussi de la taille ainsi que des requêtes que vous faites (Nombreuses jointures, indexation sur tables, configuration db, etc ...)

Votre meilleur pari est de prendre une machine comme celle que vous utilisez maintenant et de faire un benchmarking comme ci-dessus. Cela déterminera une base de combien la machine peut vous prendre en supposant que vous n'optimisez rien.

Questions connexes