在 Linux 上安装 PHP 8 后,可以使用多种工具进行性能监控
PHP-FPM(FastCGI Process Manager)是一个高性能的 PHP FastCGI 实现。要使用 PHP-FPM 进行性能监控,请按照以下步骤操作:
a. 安装 PHP-FPM:
对于 Debian/Ubuntu 系统:
sudo apt-get update
sudo apt-get install php8.0-fpm
对于 CentOS/RHEL 系统:
sudo yum install php-fpm8
b. 配置 PHP-FPM:
编辑 PHP-FPM 配置文件(通常位于 /etc/php/8.0/fpm/pool.d/www.conf
或 /etc/php-fpm.d/www.conf
),根据需要调整以下参数:
pm.max_children
:设置最大子进程数。pm.start_servers
:设置启动时的子进程数。pm.min_spare_servers
:设置最小空闲子进程数。pm.max_spare_servers
:设置最大空闲子进程数。pm.max_requests
:设置每个子进程在重启前处理的请求数。c. 重启 PHP-FPM 服务:
sudo systemctl restart php8.0-fpm
d. 使用 htop
或 top
命令监控 PHP-FPM 进程:
安装 htop
(如果尚未安装):
sudo apt-get install htop
使用 htop
监控 PHP-FPM 进程:
htop
使用 top
命令监控 PHP-FPM 进程:
top
a. Nginx 和 PHP-FPM:
安装 Nginx 和 PHP-FPM(如上所示)。使用 Nginx 作为 Web 服务器,并通过 PHP-FPM 处理 PHP 请求。
b. 使用 nginx-stat
模块:
安装 nginx-stat
模块:
sudo apt-get install nginx-extras
启用 nginx-stat
模块:
sudo nano /etc/nginx/conf.d/stats.conf
将以下内容添加到文件中:
http {
...
stats_module modules/ngx_http_stats_module.so;
...
}
重启 Nginx 服务:
sudo systemctl restart nginx
访问 /nginx_status
路径以查看性能统计信息:
http://your_server_ip/nginx_status
c. 使用 goaccess
分析 Web 日志:
安装 goaccess
:
sudo apt-get install goaccess
运行 goaccess
分析 Web 日志(例如,/var/log/nginx/access.log
):
goaccess /var/log/nginx/access.log -a
这将生成一个 HTML 报告,显示访问者、请求、访问者地理位置等统计信息。
a. Xdebug:
安装 Xdebug(如上所示)。使用 Xdebug 生成 PHP 代码的调用图,以便分析和优化性能。
b. 使用 Webgrind 或 KCacheGrind 分析 Xdebug 输出:
安装 Webgrind(如果尚未安装):
git clone https://github.com/jokkedk/webgrind.git
cd webgrind
sudo apt-get install valgrind
分析 Xdebug 输出(例如,/tmp/xdebug.pid
):
valgrind --tool=callgrind --output-file=callgrind.out /usr/bin/php8.0 /path/to/your/script.php
kcachegrind callgrind.out
这将生成一个可视化报告,显示函数调用、执行时间等信息。
通过这些工具,您可以监控和优化 PHP 8 应用程序的性能。