La clé pour améliorer les performances d'un site Web : guide pratique d'optimisation PHP-FPM
Avec le développement rapide d'Internet, les sites Web jouent un rôle de plus en plus important. Pour les opérateurs de sites Web, l’amélioration des performances des sites Web est cruciale, non seulement pour améliorer l’expérience utilisateur, mais également pour améliorer le classement des moteurs de recherche. PHP-FPM (FastCGI Process Manager), en tant que gestionnaire de processus pour l'exécution de PHP, joue un rôle essentiel dans l'amélioration des performances du site Web. Cet article vous fournira un guide pratique d'optimisation PHP-FPM, comprenant des exemples de code spécifiques.
1. Installez et configurez PHP-FPM
Tout d'abord, vous devez vous assurer que PHP a été installé sur le serveur. Vous pouvez le vérifier avec la commande suivante :
php -v
Si PHP n'est pas installé, veuillez utiliser la commande suivante pour l'installer (en prenant CentOS comme exemple) :
yum install php
Une fois l'installation terminée, vous devez modifier le php. ini pour activer le support PHP-FPM. Recherchez les deux lignes de code suivantes et modifiez-les :
cgi.fix_pathinfo=0 ; FastCGI dynamic process spawning ; Set to 0 if you're not having permission errors when running PHP as a CGI. ; http://php.net/cgi.fix-pathinfo
Modifiez la première ligne de code en :
cgi.fix_pathinfo=1
Modifiez la deuxième ligne de code en :
;cgi.fix_pathinfo=0
Après avoir enregistré les modifications, redémarrez le service PHP-FPM pour effectuer le modifications effectives.
service php-fpm restart
2. Ajustez les paramètres de configuration de PHP-FPM
Avant d'optimiser PHP-FPM, nous devons comprendre certains paramètres importants de PHP-FPM :
Selon la configuration du serveur et le trafic du site web, ces paramètres peuvent être ajustés de manière appropriée pour améliorer les performances de PHP-FPM. Par exemple, si la configuration du serveur est faible, vous pouvez définir pm.max_children sur une valeur plus petite, telle que 20. Si le trafic du site Web n'est pas élevé, vous pouvez définir pm.min_spare_servers et pm.max_spare_servers sur des valeurs plus petites, telles que 5.
Vous pouvez modifier ces paramètres en éditant le fichier php-fpm.conf :
vi /etc/php-fpm.conf
Retrouvez les lignes de code suivantes à modifier :
pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pm.max_requests = 500
Après avoir enregistré les modifications, redémarrez le service PHP-FPM pour que les modifications prennent effet.
service php-fpm restart
3. Activer l'extension OPcache de PHP
OPcache est un accélérateur introduit après la version 5.5 de PHP. Il peut mettre en cache les scripts PHP compilés en mémoire pour réduire le temps de compilation répétée. L'extension OPcache peut être activée en suivant ces étapes :
vi /etc/php.ini
;zend_extension = <path_to_opcache.so>
service php-fpm restart
4. Activez la fonction Slow Log de PHP-FPM
La fonction Slow Log de PHP-FPM peut enregistrer les requêtes dont le temps d'exécution dépasse le seuil spécifié dans un fichier journal pour une analyse et une optimisation ultérieures. Vous pouvez activer la fonction Slow Log en suivant les étapes suivantes :
vi /etc/php-fpm.conf
;slowlog = /var/log/php-fpm/www-slow.log ;request_slowlog_timeout = 0
service php-fpm restart
5. Utilisez des serveurs proxy inverses tels que Nginx
L'utilisation de serveurs proxy inverses tels que Nginx peut transmettre les demandes de ressources statiques à Nginx pour traitement, réduisant ainsi la charge de PHP-FPM et améliorant les performances du site Web.
Dans le fichier de configuration Nginx, vous pouvez transmettre les demandes de ressources statiques à Nginx via le code suivant :
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { proxy_pass http://yourdomain.com; proxy_set_header Host $host; }
Le code ci-dessus transmet les demandes de jpg, jpeg, png, gif, ico, css, js et autres suffixes vers http : Traité sur //votredomaine.com.
6. Utiliser le mécanisme de mise en cache
Dans la logique métier du site Web, le mécanisme de mise en cache peut être utilisé pour réduire l'accès à la base de données et la génération de pages dynamiques, améliorant ainsi les performances du site Web. Ceci peut être réalisé en utilisant des technologies de mise en cache telles que Redis et Memcached.
Le cache Redis peut être utilisé via l'exemple de code suivant :
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $key = 'user_info_' . $user_id; if ($redis->exists($key)) { $user_info = $redis->get($key); } else { $user_info = getUserInfoFromDatabase($user_id); $redis->setex($key, 3600, $user_info); }
Le code ci-dessus vérifie d'abord si les informations utilisateur existent dans le cache Si elles existent, elles sont obtenues directement à partir du cache ; les informations utilisateur de la base de données et les stocke dans le cache et définit le délai d'expiration sur 3600 secondes.
Résumé :
En optimisant PHP-FPM, nous pouvons améliorer les performances du site Web et améliorer l'expérience utilisateur. Cet article fournit un guide pratique sur l'optimisation PHP-FPM et donne des exemples de code spécifiques pour votre référence. Dans les applications réelles, il peut également être ajusté et optimisé en fonction de besoins spécifiques pour obtenir les meilleures performances.
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!