Question

J'ai quelques questions fondamentales autour de la compréhension des fondamentaux des tests de performance. Je sais que, dans diverses circonstances, nous pourrions faire - Test de stress - Essais d'endurance, etc. Mais mon principal objectif ici est de faire en sorte que le temps de réponse est correct de l'application sous un ensemble de charge qui est à une extrémité supérieure ou moins au-dessus de charge moyenne.

Mes questions sont les suivantes:

  1. Lorsque vous commencez à planifier votre temps de réponse attendue de la demande; que considères-tu. Si c'est la première étape du tout. Je veux dire, j'ai une application web maintenant. Est-ce que je viens de tirer un chiffre de l'air et dire « Je me attends à l'application de prendre 3 secondes pour répondre à chaque demande ». et ensuite tenter de comprendre ce que ma demande fait défaut d'obtenir ce temps de réponse?

  2. Ou est-ce l'inverse, et vous commencez test de performance avec un ensemble de matériel et de dire, permet de voir ce que le temps de réponse que je reçois maintenant, puis regarder les résultats et dire, eh bien, il est 8 secondes à droite maintenant, je voudrais que ce soit 3 secondes à max, donc permet de voir comment nous pouvons optimisons être 3 secondes? Mais encore une fois est de 3 secondes sur l'air? Je suis sûr, mise à l'échelle des machines ne seront pas obtenir le temps de réponse en place. Il va obtenir le temps de réponse uniquement lorsque seule machine / serveur est sous charge et vous commencez le regroupement?

  3. Maintenant, pour un seul utilisateur, j'ai le temps de réponse en 3 secondes, mais que la charge augmente elle descend de façon exponentielle; alors où dois-je faire la différence entre « je dois optimiser autre code » (qui a sa limite supérieure) et « je dois évoluer mes serveurs » (qui a une limite trop)

  4. Quels sont les meilleurs outils gratuits pour faire des tests de performance et de charge? Je l'ai utilisé Jmeter un peu. Mais il n'y a rien d'autre, ce qui est bon et open source?

  5. Si je dois optimiser le code, je commence à profiler les flux spécifiques qui ont beaucoup de temps à répondre aux demandes?

En fait, je voudrais voir comment on s'y prend d'un bout à faire des tests de performance pour leur application. Tous les liens ou les articles seraient très utiles.

Merci.

Était-ce utile?

La solution

Le Conseil Tests de performance est votre passerelle pour échanger librement des expériences, des connaissances et la pratique des tests de performance.

A lire également Microsoft modèles et pratiques pour les tests de performance. Ce guide vous montre une approche de bout en bout pour la mise en œuvre des tests de performance.

phénix a mentionné les outils Open Source.

Autres conseils

Ce lien et cette montrent un exemple et la méthode d'une optimisation des performances application lorsque l'application ne présente pas évidentes « goulots d'étranglement ». Il fonctionne de façon intuitive plus sur les threads individuels. Je n'ai pas l'expérience de l'utiliser sur des applications web, bien que d'autres gens. Je suis d'accord que le profilage est pas facile, mais je me suis toujours appuyé sur cette technique, et je pense qu'il est assez facile / efficace.

Tout d'abord, bien concevoir votre application.

Utilisez un profileur, voir où les goulots d'étranglement dans votre application sont, et les enlever si possible. Mesurer la performance avant de l'améliorer.

Je vais essayer de fournir étape de base par étape, qui peut être utilisé pour la mise en œuvre des tests de performance en vous projet.

1 - Avant de commencer à tester vous devez savoir quantité de mémoire physique et la quantité de mémoire allouée à JVM, ou autre. taille DB recueillir autant que possible des mesures pour votre environnement actuel. Connaissez-vous l'environnement

2 - L'étape suivante serait d'identifier la taille de la commune production de DB et la croissance annuelle attendue. Vous voulez tester votre application se comportera après année, deux, cinq, etc.,

3 - Automatiser la configuration de l'environnement, c'est vous aidera beaucoup à l'avenir pour les tests de régression et la validation de correction de défaut. Donc, vous devez avoir DB décharges pour vos tests. Avec un courant (de base), un an, le volume de cinq ans.

4 - Une fois que vous avez terminé si la collecte d'informations de base - Pensez à la surveillance de vos serveurs sous charge, peut-être vous avez déjà une solution de surveillance comme http://newrelic.com/ cela vous aidera à identifier la cause de la dégradation des performances (CPU / Mem / Nombre de threads etc.) Certains outils de test de performance ne ont construit dans les systèmes de surveillance.

A ce que vous êtes prêt à passer avec l'outillage et la sélection de charge, il est déjà fourni des documents sur la façon de le faire, je vais donc passer une partie de la sélection de la charge de travail.

5 - Sélectionnez l'outil Je pense que JMeter + http://blazemeter.com/ est ce que vous avez besoin à ce moment, les deux ont beaucoup de beaux articles et du matériel éducatif, pour votre enregistrement de script que je recommande d'utiliser blazemeters Chrom extension au lieu de la solution de JMeters intégré. Si vous pensez toujours que vous faites connaissance manque sur la façon dont les choses sont faites dans JMeter Je recommande d'obtenir ce livre - Test de performance avec JMeter 2.9 par Bayo Erinle

6 -. Analyser les résultats, plan de test d'examen et de prendre les actions correspondantes

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