在Ubuntu上监控PHP-FPM的响应时间,可以通过以下几种方法:
systemd 和 journalctlUbuntu 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的响应时间。选择适合你需求的方法进行实施。