在Ubuntu上監控PHP-FPM的響應時間,可以通過以下幾種方法:
systemd
和 journalctl
Ubuntu 16.04及更高版本使用 systemd
來管理服務和日志。你可以使用 journalctl
命令來查看PHP-FPM的日志,并從中提取響應時間信息。
sudo journalctl -u php-fpm -f
你可以通過日志中的時間戳和請求處理時間來計算響應時間。
php-fpm
的內置統計頁面PHP-FPM提供了一個內置的統計頁面,可以通過配置文件啟用。
/etc/php/7.x/fpm/pool.d/www.conf
或 /etc/php/7.x/fpm/pool.d/www.conf
)。pm.status_path = /status
sudo systemctl restart php7.x-fpm
現在,你可以通過訪問 http://your_server_ip_or_domain/status
來查看PHP-FPM的狀態和統計信息,包括響應時間。
nginx
或 apache
的日志如果你使用的是 nginx
或 apache
作為Web服務器,你可以從它們的訪問日志中提取響應時間。
Nginx的訪問日志通常包含請求的處理時間。默認情況下,日志格式如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$request_time" "$upstream_response_time"';
你可以使用以下命令來提取響應時間:
awk '{print $13, $14}' /var/log/nginx/access.log
Apache的訪問日志通常包含請求的處理時間。默認情況下,日志格式如下:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{REQUEST_TIME}t" combined
你可以使用以下命令來提取響應時間:
awk '{print $10}' /var/log/apache2/access.log
你可以使用第三方監控工具如Prometheus、Grafana、New Relic等來監控PHP-FPM的響應時間。
tcpdump
或 wireshark
如果你需要更詳細的網絡層面的監控,可以使用 tcpdump
或 wireshark
來捕獲和分析PHP-FPM的網絡流量。
sudo tcpdump -i any port 9000 -w php-fpm.pcap
然后你可以使用Wireshark打開 php-fpm.pcap
文件來分析請求和響應的時間。
通過以上方法,你可以有效地監控Ubuntu上PHP-FPM的響應時間。選擇適合你需求的方法進行實施。