뚠뚠멍의 생각들

Paramètres principaux de nginx en tant que serveur Web

Création: 2024-09-26

Création: 2024-09-26 21:20

Nginx est un serveur web open source, souvent utilisé comme serveur web ou serveur proxy web.

Avec une configuration appropriée, il peut fournir du contenu statique de manière efficace.

Je souhaite documenter ici quelques-uns de ses principaux paramètres de configuration.


Quelques paramètres clés liés aux performances

1. Compression gzip

Lors du chargement d'un site web, de nombreux fichiers sont reçus du serveur web, tels que des scripts JavaScript, des images, du code HTML et des feuilles de style CSS.

Au lieu de transmettre ce contenu tel quel, l'utilisation de la compression gzip permet de réduire significativement la quantité de données transmises.


En d'autres termes, son application permet :

- Une réduction de la quantité de données, entraînant des économies de bande passante.

- Des économies de ressources serveur.

- Une amélioration de la vitesse de chargement pour l'utilisateur.


En revanche, comme le serveur doit effectuer la compression gzip avant d'envoyer la réponse, l'utilisation du processeur peut augmenter.

Il est donc essentiel de tester avant la mise en production, notamment le type de fichiers à compresser, le niveau de compression et la taille minimale des fichiers à compresser.


Voici quelques paramètres liés à gzip :

* gzip_vary indique que le contenu peut être envoyé en version compressée ou non compressée selon que le client supporte gzip ou non. (Indique que le contenu peut être fourni en différentes versions selon l'en-tête de requête du client (Accept-Encoding)).


2. Paramètre proxy_buffer

Nginx stocke la réponse dans un tampon avant de l'envoyer au client.

Lorsque le serveur web envoie une réponse au client, si le client est lent, le serveur doit attendre. (Bouchon réseau)

Dans ce cas, les ressources du serveur sont utilisées en continu. Pour résoudre ce problème, un tampon est utilisé pour traiter temporairement la réponse indépendamment de la vitesse de traitement du client. Cela présente les avantages suivants :

- Optimisation de la charge du serveur

- Réduction des goulots d'étranglement du réseau

※ Si la taille du tampon est trop grande, la transmission de données en temps réel, telle que la diffusion en continu de texte, peut être retardée. Des tests sont donc nécessaires. Notamment, avec le développement récent des services d'IA, il est crucial de vérifier ce paramètre si la diffusion en continu de texte ne fonctionne pas.


3. Configuration worker et http

Les workers sont les processus qui traitent les requêtes des clients. On peut définir le nombre de workers par cœur de processeur du serveur.

HTTP implique généralement une requête-connexion-réponse-déconnexion. Pour réduire les ressources utilisées pour les connexions lors de plusieurs requêtes, la connexion client peut être maintenue. Il s'agit de la configuration keep-alive.

La raison de regrouper ces deux éléments est la suivante :

Si le serveur possède 4 cœurs, le nombre théorique de connexions possibles est de 1 024 × 4 = 4 096.

(Ce nombre peut ne pas être exact en fonction des ressources et de l'environnement du trafic)

Si 4 096 clients sont connectés simultanément et occupent tous les keep-alive pendant 65 secondes,

la connexion du 4 097e utilisateur peut être impossible, ce qui peut entraîner des retards de réponse.


Par conséquent, en supposant que les ressources du serveur sont stables grâce à une mise à l'échelle automatique, si un retard de réponse se produit lors d'un événement, la configuration ci-dessus peut avoir un impact indirect.


4. Autres - bloc location

Certains paramètres, tels que le tampon proxy, peuvent être appliqués à chaque URL de requête.

* Certains paramètres, tels que keep-alive, sont appliqués au niveau du serveur HTTP et ne peuvent pas être configurés par bloc.

server {
listen 80;
server_name example.com;


Ces paramètres permettent d'optimiser les performances web. Après avoir effectué des tests avec différents cas, optimisez les performances de votre serveur !

* La configuration nginx mise à jour peut être appliquée sans temps d'arrêt du serveur, ce qui la rend généralement stable.






Commentaires0