7 outils pour tester les performances d’un site web

Pour poser un diagnostic sur d’éventuels dysfonctionnements et tester les performances d’un site web, plusieurs outils d’analyse existent.

Utiles pour simuler le fonctionnement d’un site ou d’une application et investiguer plus en profondeur concernant l’utilisation des ressources, ces outils vous permettront d’optimiser vos performances web et d’identifier les problèmes sous-jacents.


Des outils pour reproduire les problèmes de performances web

Plus on effectue des optimisations et plus il est complexe de reproduire les conditions dans lesquelles les performances se dégradent. Mais savoir si on exécute le bon scénario de test est une étape qu’il ne faut pas négliger ! Pour vous aider à tester les performances d’un site web, voici 4 outils :

1- AB (Apache Benchmark)

Il s’agit d’un outil d’évaluation des performances de votre serveur web qui indique le nombre de requêtes par seconde que votre application est capable de prendre en charge.

  • Point fort : Vous pouvez simuler l’arrivée massive d’utilisateurs sur une page.
  • Point faible : Il n’est pas fait pour simuler efficacement l’activité d’un ou plusieurs utilisateurs.

2- JMETER 

Il permet de simuler un grand nombre de requêtes concurrentes et donc de simuler le comportement du site avec un grand nombre de visiteurs. Il produit une synthèse graphique des résultats du test.

  • Point fort : Il permet de tester les performances d’un site web, mais également beaucoup d’éléments annexes (serveurs mails, connexion JDBC…)
  • Point faible : Il est difficile de créer un jeu de tests qui soit représentatif du comportement exact de l’application

3- SELENIUM GRID 

Il permet de réaliser des tests en simulant l’activité d’un ou plusieurs utilisateurs sur un site web. Grâce au plugin Firefox, vous pouvez également « enregistrer » un scénario et le rejouer à volonté.

  • Point fort : Il permet de jouer plusieurs fois le même scénario en parallèle.

4- BATCHS DE REQUÊTES SQL 

Cet outil pour tester les performances d’un site web vous permet d’obtenir la liste de toutes les requêtes faites à la base de données pendant l’exécution d’un scénario représentatif, puis de le rejouer pour simuler l’impact de l’application sur la charge de votre serveur de données.
Vous avez en outre la possibilité de rejouer le batch de façon unitaire pour mesurer le gain de performance ou d’en lancer plusieurs pour simuler un pic d’activité.
Pour cela vous avez 2 options :

  • Écrire dans un journal de requêtes au niveau de l’applicatif
  • Configurer MySQL pour tracer toutes les requêtes

Des outils d’investigation pour tester les performances d’un site web efficacement

La solution peut parfois être évidente, mais dans certains cas il est nécessaire de préciser le diagnostic pour appliquer la correction appropriée. Des outils pour investiguer plus en profondeur l’utilisation des ressources sont alors utiles pour mener à bien votre démarche de test.

1- Logs Apache
« Aïe ! Les temps de réponse se dégradent sous la charge ! Pourtant mon site répond correctement en temps normal. »
Les Logs Apache tracent toutes les requêtes faites au serveur apache. En les configurant correctement, vous aurez la possibilité d’obtenir le temps de réponse de votre site. Idéal pour visualiser le comportement de votre site en fonction du nombre d’utilisateurs connectés !

2- Logs MySQL 
« MySQL consomme trop CPU ! » « Mon disque dur est saturé ! »
Les logs MySQL retracent l’activité de votre serveur de données. Le journal de log simple pourra vous renseigner sur la stabilité du serveur MySQL. Enfin, le fichier des slow queries liste l’ensemble des requêtes dont la durée d’exécution est supérieure à un seuil donné.

3- XDebug
« PHP consomme énormément de CPU ! »
La fonction Profiler vous permet d’analyser les temps d’exécution de votre code PHP. Il permet de déterminer le temps passé dans chacune des fonctions du code, et donc d’identifier quelle partie du code est moins performante.

Attention toutefois avant d’utiliser n’importe lequel de ces outils, la compréhension de vos problèmes de performance est indispensable. En effet, la mise en place ces outils est parfois très chronophage.

Pour aller plus loin dans votre démarche et améliorer les performances de vos projets web n’hésitez pas à télécharger notre livre blanc.


par TheCodM

Articles similaires TAG