Maison > développement back-end > tutoriel php > Optimisation côté serveur avec Nginx et PM-statique

Optimisation côté serveur avec Nginx et PM-statique

Jennifer Aniston
Libérer: 2025-02-08 13:44:16
original
874 Les gens l'ont consulté

Cet article détaille l'optimisation d'une application de blog de galerie multi-images, réduisant son temps de chargement initial de 28 secondes de 28 secondes à 0,7 seconde rapide. Le parcours d'optimisation se concentre sur la génération de miniatures à la volée.

Server-side Optimization with Nginx and pm-static

Après optimisation, des vitesses prêtes à la production ont été réalisées:

Server-side Optimization with Nginx and pm-static

Améliorations de clés:

  • Réduction du temps de chargement spectaculaire: Optimisation côté serveur Temps de chargement initial de 28 secondes à 0,7 seconde
  • Gestion du processus PHP-FPM: Ajuster le paramètre pm de PHP-FPM (Gestionnaire de processus) a eu un impact significatif sur les performances. Alors que pm=static a consommé plus de ressources, il a éliminé les frais généraux de frai, ce qui entraîne une augmentation des performances de 20%.
  • nginx et fastcgi Caching: Tire de la mise en cache Nginx pour le contenu statique et dynamique a considérablement amélioré les performances. Le temps de demande médian est tombé à 170 millisecondes et les demandes échouées sont passées de 17% à 0,53%.
  • Efficacité des ressources: Le goulot d'étranglement des performances principales n'était pas du matériel, même avec des ressources modestes.

Dépannage:

Si l'utilisation de Homestead s'est améliorée sur Windows, des problèmes de dossiers partagés peuvent survenir. Ajouter type: "nfs" au dossier dans Homestead.yaml résout souvent ceci:

Server-side Optimization with Nginx and pm-static

Exécutez vagrant up avec les privilèges administratifs si les problèmes persistent. Avant ces correctifs, les temps de chargement étaient de 20 à 30 secondes par demande:

Server-side Optimization with Nginx and pm-static

Méthodologie de test:

Les tests de charge des locustes ont été utilisés avec 100 utilisateurs simultanés. La pile du serveur comprenait PHP 7.1.10, Nginx 1.13.3 et MySQL 5.7.19 sur Ubuntu 16.04. NGROK Connexions HTTP tunnelles pour les tests via une URL statique.

Server-side Optimization with Nginx and pm-static

PHP-FPM et pm Réglage:

Le paramètre pm dans /etc/php/7.1/fpm/pool.d/www.conf contrôle la gestion du processus PHP-FPM. Les modes dynamic, ondemand et static ont été testés. static a fourni les meilleures performances mais au prix d'une utilisation plus élevée des ressources.

Server-side Optimization with Nginx and pm-static

Nginx et FastCgi Caching Configuration:

La mise en cache

Nginx a été implémentée en utilisant proxy_cache pour les actifs statiques et fastcgi_cache pour le contenu dynamique. Cela a considérablement réduit les temps de réponse et les taux d'échec.

Server-side Optimization with Nginx and pm-static

Les tests de Pingdom ont confirmé les améliorations substantielles des performances:

Server-side Optimization with Nginx and pm-static

Conclusion:

Cette optimisation a démontré l'impact significatif du réglage côté serveur à l'aide de la mise en cache NGINX et de la gestion stratégique des processus PHP-FPM. Les résultats mettent en évidence le potentiel de gains de performances substantiels même avec des ressources de serveur modestes. Un fichier HAR du test final est disponible (non inclus ici). D'autres stratégies d'optimisation sont les bienvenues.

(L'image initiale reste en haut, et toutes les images suivantes maintiennent leur ordre et leur format d'origine.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal