Maison >développement back-end >tutoriel php >Stratégies de surveillance et de réglage des performances php-fpm

Stratégies de surveillance et de réglage des performances php-fpm

WBOY
WBOYoriginal
2023-07-07 08:39:091348parcourir

Stratégie de surveillance et de réglage des performances php-fpm

Introduction :
Avec le développement d'Internet, PHP, en tant que langage de script efficace côté serveur, est largement utilisé dans le domaine du développement Web. En tant que solution pour l'environnement d'exécution PHP, php-fpm possède des capacités de traitement simultané élevées. Cependant, dans le cas d'une concurrence élevée, php-fpm sera confronté à des goulots d'étranglement en termes de performances. Cet article présentera les stratégies de surveillance et de réglage des performances de php-fpm, visant à améliorer les performances et la stabilité de php-fpm.

1. Surveillance des performances de php-fpm

1.1 La commande top surveille le processus php-fpm

Vous pouvez utiliser la commande top pour surveiller la consommation du processeur et de la mémoire du processus php-fpm. Grâce à la commande top, vous pouvez afficher les informations d'état du processus php-fpm en temps réel, telles que l'ID du processus, l'utilisation du processeur, l'utilisation de la mémoire, etc. Vous pouvez utiliser la commande "top -p [pid]" pour surveiller le processus php-fpm spécifié.

Exemple de code :

top -p 1234

1.2 page d'état de php-fpm

php-fpm fournit une page d'état accessible via un navigateur pour afficher l'état d'exécution de php-fpm en temps réel. Grâce à cette page, vous pouvez obtenir des informations telles que le nombre de connexions, le traitement des demandes et l'état du pool de processus de php-fpm. Cette fonctionnalité peut être activée en ajoutant la configuration suivante au fichier de configuration de php-fpm :

pm.status_path = /status

Exemple de code :

http://localhost/status

1.3 Utilisation de l'extension swoole pour la surveillance des performances

L'extension swoole est un framework réseau asynchrone hautes performances qui peut être utilisé Développer des applications PHP hautes performances. L'extension swoole fournit des fonctionnalités riches, notamment la surveillance des performances de php-fpm. Vous pouvez utiliser le composant serveur de swoole pour surveiller le temps de traitement des requêtes de php-fpm, le nombre de connexions, le volume des requêtes et d'autres informations.

Exemple de code :

<?php
$server = new swoole_http_server("0.0.0.0", 9501);

$server->on('request', function ($request, $response) {
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World
");
});

$server->on('start', function($server) {
    swoole_timer_tick(1000, function() use ($server){
        $stats = $server->stats();
        echo "Active Connections: " . $stats['connection_num'] . "
";
        echo "Total Requests: " . $stats['request_count'] . "
";
    });
});

$server->start();
?>

2. Réglage des performances de php-fpm

2.1 Ajuster le nombre de processus php-fpm

Les performances de php-fpm ont une excellente relation avec le nombre de processus. Le nombre de processus php-fpm peut être ajusté en fonction de la configuration du serveur et des besoins réels. Dans le fichier de configuration de php-fpm, vous pouvez ajuster le nombre de processus en modifiant les paramètres suivants :

pm.max_children = 50            # 进程池中允许的最大子进程数
pm.start_servers = 20           # 启动时创建的子进程数
pm.min_spare_servers = 10       # 最小空闲子进程数
pm.max_spare_servers = 30       # 最大空闲子进程数

2.2 Ajuster le modèle de pool de processus de php-fpm

php-fpm prend en charge plusieurs modèles de pool de processus, et vous pouvez choisir le modèle approprié selon vos besoins. Dans le fichier de configuration de php-fpm, vous pouvez ajuster le modèle de pool de processus en modifiant les paramètres suivants :

pm = dynamic                    # 动态进程池模型
pm = static                     # 静态进程池模型
pm = ondemand                   # 按需进程池模型

2.3 Ajuster le délai d'expiration de la requête de php-fpm

Les performances de php-fpm sont également liées au délai d'expiration de la requête. Le délai d'attente de la requête de php-fpm peut être ajusté en fonction de la situation réelle. Dans le fichier de configuration de php-fpm, vous pouvez ajuster le délai d'expiration de la requête en modifiant les paramètres suivants :

request_terminate_timeout = 60  # 请求处理超时时间,单位为秒
request_slowlog_timeout = 10    # 请求慢日志超时时间,单位为秒

2.4 Ajuster la limite de mémoire de php-fpm

Les performances de php-fpm sont également liées à l'utilisation de la mémoire. La limite de mémoire de php-fpm peut être ajustée en fonction de la configuration du serveur et des besoins réels. Dans le fichier de configuration de php-fpm, vous pouvez ajuster la limite de mémoire en modifiant les paramètres suivants :

pm.max_requests = 1000          # 单个子进程处理的最大请求数
php_admin_value[memory_limit] = 128M   # 单个子进程的内存限制

Conclusion :
Grâce à la surveillance et au réglage des performances de php-fpm, les performances et la stabilité de php-fpm peuvent être améliorées. En termes de surveillance, vous pouvez utiliser la commande top, la page d'état ou l'extension swoole pour afficher l'état d'exécution de php-fpm en temps réel. En termes de réglage, des paramètres tels que le nombre de processus, le modèle de pool de processus, le délai d'expiration des requêtes et les limites de mémoire peuvent être ajustés pour optimiser les performances de php-fpm. J'espère que cet article sera utile pour la surveillance et le réglage des performances de php-fpm.

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:
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