2.3.2.1 Techniques d'évaluation de performances (benchmarking)

Une procédure d' évaluation de performances utilise un jeu de données prédéfini et mesure les résultats retournés par le système. Le but est de permettre une comparaison facile entre plusieurs systèmes exposés aux mêmes tests. Pour que les résultats prédisent la performance réelle il faut que le jeu des données utilisées soit une image fidèle du comportement des utilisateurs réels.

La procédure d' évaluation de performances pour un serveur Web consiste à simuler l'activité du serveur en utilisant plusieurs processus clients qui envoient des requêtes Web au serveur d'après une loi prédéfinie, imitant l'activité des navigateurs Web (Figure 11). Les clients varient les types des requêtes HTTP (par exemple GET, POST, PUT), la taille et le nombre des fichiers demandés, la fréquence d'envoi des requêtes, avec le but de trouver les performances maximales du serveur. Les réponses du serveur sont mesurés habituellement avec les normes déjà présentées (nombre des requêtes traités par seconde, temps de réponse, débit, nombre d'erreurs).

message URL fig11.gif
Figure 11 Procédure d' évaluation de performances pour un serveur Web

Les processus client essaient de trouver la sollicitation maximale que le serveur admet. Quand les tests s'arrêtent l'outil d'évaluation de performances calcule un score général pour la configuration testée. Les outils de benchmarking les plus répandues pour les serveurs Web sont SPECWeb96 (avec la version plus récente SPECWeb99, [specweb99]), WebBench ([webBench]) et WebStone ([trent95]). Elles calculent le nombre maximal de requêtes par seconde et le débit maximal en octets par seconde.

Le jeu des données utilisé par serveur (nommée workload) est construit par l'instrument d'évaluation de performances en utilisant une répartition statistique de la taille des fichiers qui représente le mieux possible les scénarios réels. Par exemple, le jeu des données de WebSpec99 utilise quatre classes de fichiers avec des fréquences d'accès différentes (Figure 12).

Figure 12 Description du jeu des données utilisé dans WebSpec99
Classe de fichiers Taille des fichiers Fréquence d'accès
Class 0 0 -- 1KB 35%
Class 1 1KB -- 10KB 50%
Class 2 10KB -- 100KB 14%
Class 3 100KB -- 1MB 1%

Les performances des configurations récentes (septembre 2000), testées avec WebBench se situent autour de 2500 rps3 (un processeur) ou 7000 rps (quatre processeurs).

message URL fig13.gif
Figure 13 Les performances des plusieurs plate-formes Web testées avec WebBench ([pcmag])

Notes
3.

rps: requêtes par seconde; unité de mesure pour la performance d'un serveur Web; représente le nombre de requêtes gérées par un serveur Web dans une période de temps déterminée