Le test de performance repose essentiellement sur la MESURE.
En effet c’est lors de tests dynamiques, grâce à l’évaluation de certains métriques, tels que son temps de service, ou sa capacité à monter en charge, que l’on pourra évaluer les caractéristiques propres d’un système et contrôler le respect des exigences fixées par les différentes parties prenantes.
Toutefois, dans le travail d’analyse qui suit, ou prépare, la mesure, certaines connaissances théoriques sont nécessaires pour mieux comprendre le fonctionnement interne du système et anticiper certaines limitations.
Une des lois les plus utiles en la matière est la LOI DE LITTLE, du nom du mathématicien qui l’a établie en 1961. Simple à formuler, elle peut être appliquée dans de nombreux domaines, et rendra bien des services au testeur de performance.
Voilà à quoi elle ressemble :
Q = X . R
Où :
· Q représente le nombre d’items dans le système
· X représente le taux d’arrivée dans le système (1/s)
· R représente le temps passé dans le système (s)
Simple non ?
Prenons trois exemples où elle va nous aider.
1/ Imaginons qu’un système (disons un serveur Apache) gère 100 demandes de connexions par seconde et que chacune d’elles prenne 100 ms.
La loi de Little nous dit que le nombre de connexions en cours à chaque instant dans le serveur Apache est égal à : 100 x 100 x 0,001 soit 10.
Ce calcul trivial nous renseigne sur le niveau de parallélisme géré par le serveur et ainsi nous aide à configurer le nombre de workers nécessaires pour absorber au mieux la montée en charge
2/ Maintenant prenons le problème par l’autre bout. Imaginons que nous ayons besoin d’effectuer 250 itérations d’un script toutes les minutes, chaque itération ayant une durée de 90 secondes.
De combien de VU avons-nous besoin pour y parvenir ?
La loi de Little nous donne la réponse. Il nous faut 250/60 x 90 soit 375 VU. Comme il est probable que certains temps de réponse augmentent avec la charge, on cadencera, grâce au pacing, un déclenchement de l’itération toutes les 2 minutes et donc on préférera utiliser 500 VU.
3/ Enfin supposons qu’un job réalisé grâce à 4 processus concurrents traite 1000 demandes à l’heure, combien de temps prend le traitement d’une demande ?
La loi de Little nous dit que 4 = 1000/3600 x R
Donc R = 4 x 3600 / 1000 et donc le temps de traitement est de 14,4 s