Execution d’un test de charge dans le Cloud

Montée en charge

Lors d’un développement d’une application Web grand public, un problème récurrent apparait : combien d’utilisateurs l’application pourra-t-elle supporter ?

La solution parait simple : planifier un test de charge ! Oui, mais …

  • la bande passante de mon réseau locale sera-t-elle suffisante ?
  • la machine exécutant les tests sera-t-elle assez puissante ?
  • est-ce que le test utilisera un accès réseau équivalent à celui des internautes ou utilisera-t-il une liaison spécialisée ?

Une solution : CloudNetCare

CloudNetCare répond à cela en proposant un service de test de charge dans le Cloud. La mise en place s’avère assez simple :

  1. création d’un scénario de test avec Selenium IDE, un plugin Firefox permettant d’enregistrer les actions de navigation réalisées par un utilisateur
  2. création d’un scénario de test avec CloudNetCare en fournissant simplement le script enregistré par Selenium IDE
  3. validation du scénario, en le jouant par un unique utilisateur simulé par CloudNetCare
  4. paramétrage du test, par exemple le nombre d’utilisateurs simulés ou  bien le navigateur utilisé
  5. exécution du test

Résultats :

Temps de réponses
Temps de réponses
Requetes par secondes
Requêtes par secondes
Bande passante
Bande passante

Un service à quel prix ?

La première offre est tout simplement gratuite, avec un nombre d’utilisateurs limité à 25. Voici le détail de l’offre : http://www.cloudnetcare.com/fr/tarifs

soapUI : tests de charge de Web Services

Je continue mon tutorial sur soapUI. Voyons cette fois-ci comment utiliser soapUI pour réaliser des tests de charge.

Il faut ajouter un nouveau test de charge sur le TestCase voulu.
Note: il faut savoir que le test de charge va lancer tous les tests en parallèle, donc il ne faut pas qu’il y a de dépendance entre les services du TestCase, car ceci pourrait fausser vos résultats.

clip_image002

Une fenêtre s’ouvre, il est possible de choisir la stratégie de test et de la configurer.
A savoir : la durée du test, le nombre de threads à utiliser, le délai (aléatoire ou non) entre chaque nouvelle requête, etc.

clip_image004

Sur cette image on peut se rendre compte qu’un service qui renvoie une stacktrace d’exception est couteuse en temps et en données.


Le tableau de résultat affiche : le temps de réponse min max moyen, le nombre de requêtes totales lancées lors du test, le total de données transférées, le nombre d’erreur.

De plus, la console de log en dessous permet d’avoir des détails sur les tests déroulés, comme l’heure de début et de fin du test, les éventuelles erreurs, etc …