Description : Nous allons faire un comparatif de charges entre Apache et NGINX dans un contexte donnée à savoir, VM à VM.
Contexte :
Nous partirons de deux systèmes de base sous CentOS 6 installé.
L’un avec NGINX et Apache d’installé et configuré, l’autre aura l’injecteur de tests.
Il n’y a pas eu d’optimisation sur Apache et NGINX.
Schéma du Lab :
Installation de l’injecteur :
Nous ferons nos tests avec l’outils ab (Apache Bench)
Page de tests :
Sur la VM hébergeant les services Web :
Apache
Edition du fichier /var/www/html/index.html
NGINX
Edition du fichier /usr/share/nginx/html/index.html
Tests de performances Apache
Démarrer Apache
Sur la VM hébergeant les services Web :
Note : en fonction de la configuration du serveur hébergeant Apache et NGINX, il est peut être necessaire de stop NGINX avant.
Tests de performances
Sur l’injecteur :
Note :
-n : nombre de requêtes total à envoyer
-c : nombre de requêtes parallèle
Notes 2 :
La commande est à lancer plusieurs fois pour avoir une moyenne dans les résultats.
Il est interessant de monitorer la CPU/Mémoire/Réseau sur les différents éléments de la chaîne traversée (serveurs, switchs, routeurs, load-balancers, firewalls, …), car c’est peut être l’un d’entre eux qui limite les performances.
On peut noter que le plus mauvais temps de NGINX et équivalent au meilleur temps Apache.
Il pourrait être interessant de refaire des tests avec PHP et MySQL pour voir les différents tests.