Pourquoi optimiser Nginx ?
Nginx propulse plus de 34 % des sites web mondiaux selon W3Techs. Léger, rapide et polyvalent, il s’impose comme le serveur web de référence pour les projets à forte audience. Pourtant, sa configuration par défaut est volontairement conservatrice : elle fonctionne partout, mais n’exploite pas le plein potentiel de votre infrastructure.
Un Nginx correctement optimisé peut diviser par deux le temps de réponse de vos pages et supporter des pics de trafic sans broncher. Voici comment y parvenir concrètement.
Ajuster les workers : le nerf de la guerre
worker_processes et worker_connections
Le paramètre worker_processes définit le nombre de processus Nginx. La règle d’or : un worker par cœur CPU. Sur un serveur 4 cœurs :
worker_processes 4;
events {
worker_connections 2048;
multi_accept on;
use epoll;
}
- worker_connections : nombre maximal de connexions simultanées par worker. Avec 4 workers à 2 048 connexions, vous gérez potentiellement 8 192 connexions simultanées.
- multi_accept on : chaque worker accepte toutes les connexions en attente d’un coup.
- use epoll : méthode d’événements la plus performante sous Linux.
Activer la compression Gzip
La compression Gzip réduit la taille des fichiers transmis de 60 à 80 % en moyenne. L’impact sur le temps de chargement est immédiat :
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
gzip_vary on;
Le niveau de compression 5 offre le meilleur compromis entre gain de taille et charge CPU. Au-delà de 6, le gain marginal ne justifie plus la consommation processeur.
Mettre en cache les fichiers statiques
Exploiter le cache navigateur
Chaque requête évitée est une requête gagnée. En définissant des durées de cache agressives sur les fichiers statiques, vous réduisez la charge serveur et accélérez la navigation :
location ~* \.(jpg|jpeg|png|gif|webp|ico|css|js|woff2)$ {
expires 365d;
add_header Cache-Control "public, immutable";
access_log off;
}
Résultat : un visiteur récurrent charge votre site jusqu’à 70 % plus vite puisque les ressources statiques proviennent de son cache local.
Activer le cache fastcgi pour PHP
Si vous utilisez Nginx avec PHP-FPM (WordPress, PrestaShop…), le cache fastcgi évite de réexécuter les scripts PHP à chaque visite :
fastcgi_cache_path /tmp/nginx_cache levels=1:2 keys_zone=MYAPP:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
Chez Lueur Externe, certifiée AWS Solutions Architect et experte PrestaShop depuis 2003, nous constatons régulièrement des gains de 200 à 500 ms par requête grâce à cette seule optimisation sur les boutiques e-commerce de nos clients.
Optimiser les connexions et les buffers
Des paramètres souvent négligés qui font pourtant la différence :
keepalive_timeout 30;
keepalive_requests 100;
client_body_buffer_size 16k;
client_max_body_size 10m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
- keepalive_timeout 30 : maintient la connexion ouverte 30 secondes, évitant la renégociation TCP/SSL.
- sendfile + tcp_nopush : transfert direct des fichiers depuis le noyau, sans copie inutile en mémoire.
- tcp_nodelay : envoie les petits paquets immédiatement, idéal pour les réponses dynamiques.
Surveiller et mesurer les résultats
Optimiser sans mesurer, c’est piloter à l’aveugle. Voici les outils indispensables :
- nginx -t : vérifie la syntaxe avant rechargement
- ab ou wrk : tests de charge en local
- Google PageSpeed Insights : vision utilisateur réelle
- htop / netstat : surveillance des ressources en temps réel
Après chaque modification, relancez un test de charge et comparez les métriques : requêtes par seconde, temps de réponse moyen et utilisation mémoire.
Conclusion : passez à l’action
Optimiser Nginx ne demande pas de refondre votre infrastructure. Quelques lignes de configuration bien placées suffisent à doubler les performances et à offrir une expérience utilisateur fluide, même en période de forte affluence.
Cependant, chaque projet a ses spécificités : architecture, CMS, volume de trafic, contraintes métier. L’équipe de Lueur Externe, spécialiste hébergement et performance web dans les Alpes-Maritimes, accompagne entreprises et e-commerçants dans l’optimisation de leurs serveurs depuis plus de 20 ans.
Besoin d’un audit de performance Nginx ? Contactez Lueur Externe pour un diagnostic personnalisé et des résultats mesurables.