Apache et Nginx sont les deux serveurs web Open Source les plus utilisés au monde. Ensemble Ils traitent la moitié du trafic Internet.
Retrouvez dans cet article une présentation et un test de performance Apache VS Nginx.


Serveur Apache : Présentation

Le serveur web Apache a été créé en 1995 et est développé sous la direction de la fondation « Apache Software Foundation » depuis 1999.
Il est le plus populaire des serveurs Web depuis 1996, de ce fait il est très bien documenté et beaucoup d’autres projets intègrent ses standards.

Il est souvent choisi par les administrateurs pour sa flexibilité et sa puissance.

Son point fort : Il peut interpréter un grand nombre de langages sans passer par un logiciel externe.

Serveur Nginx : Présentation

Nginx, existe depuis 2002. Il a été conçu dans le but de pouvoir gérer un grand nombre de connexions simultanées. Là où Apache est limité à 256 connections simultanés, Nginx peut en traiter plus de 10000.

Sa popularité s’est faite sur le fait qu’il consomme peu de mémoire et est très efficace pour gérer du contenu statique. Il est le plus souvent utilisé pour gérer le contenu statique et relayer le contenu dynamique à un autre service, comme Apache ou Lighttpd.

Test de performance Apache VS Nginx

Comparaison sur du contenu statique

Nous allons utiliser le logiciel « Apache Benchmark » ou « ab » pour réaliser nos tests. Le test sera fait sur un site réalisé avec Prestashop 1.6 avec la fonction « URL simplifiée » activée.
D’abord sur un VPS formule M (2 coeurs et 8Go de RAM), puis sur un VPS formule XL (4 coeurs et 16Go de RAM).

Commençons avec le VPS M. Nous utiliserons ab pour générer 6000 requêtes qui seront envoyées par paquet de 250. Nous appellerons une URL pointant sur une image JPG de 27.08Ko :

ab -n 6000 -c 250 http://www.monsitedetest.tk/201-large_default/monproduit-de-test.jpg

 

Apache (VPS-M – Contenu statique)

Time taken for tests: 208.295 seconds ## Temps nécessaire pour réaliser le test
Complete requests: 6000 ## Nombre de requêtes envoyées
Failed requests: 5948 ## Nombre de requêtes échouées (non traitées par le serveur Web)
Requests per second: 28.81 [#/sec] (mean) ## Nombre de requêtes traitées par seconde
Time per request: 34.716 [ms] (mean, across all concurrent requests) ## Temps moyen pour traiter une requête

Nginx (VPS-M – Contenu statique)

Time taken for tests: 0.864 seconds
Complete requests: 6000
Failed requests: 0
Requests per second: 6942.56 [#/sec] (mean)
Time per request: 0.144 [ms] (mean, across all concurrent requests)

 

Comparaison sur du contenu dynamique

Réalisons les mêmes tests avec du contenu dynamique. Sur le même Prestashop, nous appellerons une page « catégorie » :

ab -n 6000 -c 250 http://www.monsitedetest.tk/201-large_default/23-macategorie

 

Apache (VPS-M – Contenu dynamique)

Time taken for tests: 1067.825 seconds
Complete requests: 6000
Failed requests: 2492
Requests per second: 5.62 [#/sec] (mean)
Time per request: 177.971 [ms] (mean, across all concurrent requests)

Nginx (VPS-M – Contenu dynamique)

Time taken for tests: 27.289 seconds
Complete requests: 6000
Failed requests: 139
Requests per second: 219.87 [#/sec] (mean)
Time per request: 4.548 [ms] (mean, across all concurrent requests)

 

Conclusion

Comme nous pouvons le voir Nginx est mieux armé pour servir du contenu statique, alors que les points forts d’Apache se situent au niveau de sa configuration.
L’un est plus rapide pour des sites simples, l’autre offre plus de possibilité de paramétrage. Par exemple, Nginx ne permet pas d’utiliser de fichier .htaccess.

Le choix entre les deux doit se faire en fonction de vos besoins. Apache peut convenir dans pratiquement tous les cas de figure, Nginx quant à lui conviendra pour les sites avec
peu de contenu dynamique, type WordPress.

 

Retrouvez toutes les offres Serveur dédié VPS sur Lws.fr !

serveur-dedie-vps