Bienvenue

Jalios Community

Tout ce que vous souhaitez savoir sur l'écosystème Jalios

Amélioration des performances - mesure de temps de traitement avec openload
JCMS
Vincent Bouthors
23 avril 2009 120 vues
En résumé...

Pour obenir de bonnes performances, il est indispensable de disposer d'une méthodologie de mesure. Cette fiche décrit l'usage d'openload et l'importance de retenir le temps de réponse pour mesurer l'impact d'une amélioration.


1. OpenLoad

openload est adapté à la mesure de performance d'une page précise. La version openload disponible sur ce site a été modifié pour tenir compte des cookies et tester ainsi l'effet des "caches sessions" de JCMS : un nouveau paramètre permet d'indiquer le nombre de requêtes effectuées dans une même session utilisateur (par défaut cette limite est l'infini).

 

Exemples :

-r 10 signifie qu'après 10 requêtes utilisant la même session, une nouvelle session est créée. Cela simule un utilisateur qui fera 10 requêtes au cours de sa session.

-r 1 correspond à la version standard d'openload ; chaque requête simule un nouvelle utilisateur et aucun cookie n'est envoyé.

2. Mesures

Deux mesures sont retenus :

  • MaTps - Le maximum de la moyenne du nombre de réponses par seconde (1ère colonne). Ce chiffre est révélateur d'une limite, c'est pourquoi la valeur maximale est retenue. Ce chiffre n'est donc pas à considérer comme la valeur du comportement nominal.
  • RespTime - La moyenne des temps de réponse. Le temps de réponse dépend du nombre de clients simultanés. Ce nombre permet d'observer la capacité de la plate-forme à supporter de nombreux clients. Si le comportement est nominal, le temps de réponse correspond au temps de traitement divisé par le nombre de clients simultanés. Ainsi pour un nombre de client = 1, le temps de réponse est le temps de traitement de la requête.

3. Évaluation de l'apport d'une amélioration

Même si au final, c'est le nombre de réponses par seconde qui est retenu pour indiquer les performances, c'est le temps de calcul gagné (différence entre deux temps de traitement) qui indique l'importance d'une amélioration. Ainsi, une amélioration de 50ms paraîtra plus ou moins grande selon le temps de traitement avant amélioration :

  • en passant de 250 à 200 ms, on passe de 4 à 5 rep/s ; ce qui paraît peu
  • en passant de 100 à 50 ms, on passe de 10 à 20 rep/s ; ce qui paraît beaucoup

Pourtant l'amélioration est rigoureusement la même. En conclusion il faut absolument évaluer l'importance d'une amélioration en fonction du temps de traitement car si on se basait sur le nombre de réponses par seconde, l'ordre dans lequel on découvre les améliorations influerait sur leur importance apparente.

On lancera donc openload avec 1 seul client simultané, et on interrompra la commande (par l'appui d'une touche du clavier) pour qu'openload affiche le temps de réponse moyen = le temps de traitement moyen.

La bonne nouvelle c'est que des améliorations de plus en plus petites suffisent pour améliorer les performances. La mauvaise nouvelle, c'est qu'effectivement, dans la pratique, les améliorations qu'on trouve sont de plus en plus petites...