在 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 應用程序的性能。