Tester la charge d'un serveur avec LoadImpact
04 Juin 2010
Optimisé son site pour l’utilisateur mais également pour les moteurs de recherches est aujourd’hui une obligation. Une chose que l’on ne vérifie pas toujours lorsque l’on édite un site c’est la tenu à la charge de son serveur. En effet, à quoi cela sert d’avoir tout optimisé aux petits oignons si le serveur est sur les rotules dès qu’il y a plus de 10 connexions simultanées. La webapp LoadImpact.com permet de vérifier la capacité de votre serveur à tenir la charge…
Tester les temps de réponses de son site
Une fois qu’un site est optimisé, il faut le tester pour connaitre ces limites, LoadImpact permet de tester facilement un site avec différents nombres de connexions simultanées. Tout d’abord, il tente d’accéder avec 10 utilisateurs en même temps puis il augmente de dix en dix jusqu’à 50, pour chaque connexion il enregistre le temps de chargement de la page et génère un joli graphique avec les données collectées.
Obtenir ce graph n’aura pas été une mince affaire. En effet, la webapp était volontairement limité à 500 tests gratuits en parallèle, il faut faire la queue pour faire son test (j’était 157e dans la queue lorque j’ai lancé le test). Deux heure et demi plus tard, mon test était terminé…
Etudes de la courbe générée
La bonne nouvelle c’est qu’il semble que ce site est capable de supporter 50 utilisateurs simultanément sans avoir de TimeOut, de plus les temps de réponses me paraissent étrangement bas, mais je ne vais pas me plaindre… J’aurais néanmoins aimé pouvoir relancé le test avec plus de clients, je pense qu’à partir de 70-80 clients est la limite à ne pas dépasser si je ne veux pas que le site s’effondre.
Ma courbe n’est pas très belle et n’est pas vraiment représentative de ce que l’on devrait obtenir dans ce genre de test. J’ai compilé différentes courbes de la documentation de LoadImpact pour montrer des courbes qui révèle des informations intéressantes, car pour mon graph je suis obligé de faire des suppositions.
- La première courbe (en haut gauche) montre qu'il faut relancer le test avec plus de clients. La fin du test est sur une phase descendante mais on voit quel le nombre de clients testés est vraiment insuffisant pour avoir une bonne idée de la tenue de la charge (cette courbe est similaire à la mienne).
- La seconde courbe (en haut à droite) montre que le site prend la charge de manière linéaire, ce qui montre que le serveur est capable d'encaisser la charge de manière relativement efficace, plus il y a de clients plus les temps de chargement augmentent.
- Le troisième graphe (en bas à gauche) montre qu'à partir d'un certain nombre de client les performances se dégradent de manière exponentielle, c'est typiquement al courbe d'un serveur qui va crasher si on augmente encore un peu le nombre de client.
- La quatrième courbe est celle que l'on observe si on lance le test sur Google. En gros, c'est ce vers quoi il faut tendre... Une courbe plate capable d'encaisser un nombre de client en augmentation sans que les temps de chargements se dégradent.
Conclusion
En résumé, LoadImpact est une bonne webapp qui peut rendre service si l’on cherche à vérifier que son site est capable de gérer un pic de connexion (ce qui peut se produire sur Twitter). La partie gratuite est très simple et ne donne pas accès à toutes les informations qui sont générées par le test, en effet d’autres informations sont disponibles mais il faut s’acquitter d’un droit de 9$ par jour d’utilisation au minimum. Malheureusement, le temps d’attente est très long et on ne peut pas lancer deux fois le même test en 24h.
C’est une solution comparable à JMeter mais qui est bien plus simple à appréhender…
Source : Webappers [EN]