Question

Permet de dire un site Web de commerce électronique basé sur Java EE fonctionne bien donner le temps de réponse attendue et le débit. Le site Web est en pleine mutation et ui devrait apporter 3 fois plus de trafic.

Comment puis-je savoir si le trafic Web projetée pourrait être gérée par l'environnement existant?

Est-il possible de le trouver à l'aide d'une formule empirique sans charger réellement tester le système si je l'utilisation du système (CPU, utilisation de la mémoire), le débit, le temps de réponse du système existant. (Le but est de déterminer si les SLAs pourraient être atteints au stade de la conception elle-même)

Était-ce utile?

La solution

Non, il n'y a pas de formule pour cela, il y a trop de facteurs de ce pour liens d 'interdé. La seule façon d'obtenir des chiffres réalistes est par des tests empiriques. Si vous ne pouvez pas faire cela, vous êtes seule option est d'opter pour une surcapacité dans le matériel et faire une supposition qui irait à quelque chose comme ceci:

  • Est-ce que la nouvelle utilisation du processeur d'impact de l'interface utilisateur?
  • Est-il plus de temps à rendre et à transférer une page? Estimer l'augmentation de la concurrence.
  • Est-ce que plus de trafic signifie aussi plus de données? Si oui, comment cette performance d'impact?
  • Y a-t-il des obstacles qui pourraient conduire à une augmentation inattendue de la concurrence?
  • Quel est l'impact de l'utilisation accrue concurrency mémoire?
  • Comment cache du système de fichiers d'impact de l'utilisation de la mémoire, le cache de base de données, le cache JPA, etc.
  • La performance IO est lié? Et quelle capacité de rechange est disponible?
  • Est-ce CPU performance liée? Et quelle capacité de rechange est disponible?
  • Quelle est la capacité de réserve en mémoire avez-vous?

Autres conseils

Je suis en désaccord en partie avec la réponse précédente. Pour assurer que toute la planification des capacités implique la création d'un modèle avec un ensemble d'hypothèses (potentiellement dangereux).

Nontheless, ayant une bonne perspective historique:

  • charge transactionnelle (par exemple des résultats Web sur logs Apache)

  • CPU et utilisation de la mémoire

analyses charge performances peuvent être construites pour déterminer la « demande de service » (grosso modo le nombre de ressources utilisées pour traiter une demande unique) grâce à des techniques statistiques analytiques. Le même paramètre peut alors être introduit dans la queue modèles de réseau pour estimer le temps de réponse attendu et le débit (dont le comportement peut être fortement non-linéaire à des niveaux élevés de saturation des ressources).

En dépit de ce que vient de dire:   - il est pas de formule facile

  • vous devez supposer que le nouveau l'effet de l'interface utilisateur est la génération 3 fois la charge et rien d'autre (même la demande de service pour une demande, même efficacité)

  • vous prenez le risque de problèmes rencontrés avec les éventuels goulets d'étranglement non modélisés (par exemple, les pools de connexions saturées, bande passante réseau, ...) ce qui est un problème général de la planification des capacités.

Le test est la seule option sûre, malheureusement une option trop souvent non disponible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top