在Ubuntu上监控PHP-FPM响应时间,可以通过以下几种方法:
php-fpm内置的慢日志PHP-FPM有一个内置的慢日志功能,可以记录执行时间超过指定阈值的请求。
编辑PHP-FPM配置文件(通常是/etc/php/7.x/fpm/pool.d/www.conf),添加或修改以下配置:
request_slowlog_timeout = 0s
slowlog = /var/log/php-fpm/www-slow.log
request_slowlog_timeout设置为0表示记录所有请求的执行时间。
tail -f /var/log/php-fpm/www-slow.log
nginx或apache日志如果你使用的是Nginx或Apache作为Web服务器,可以通过它们的访问日志来监控PHP-FPM的响应时间。
在Nginx配置文件中(通常是/etc/nginx/nginx.conf),确保你有类似以下的配置:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
然后查看Nginx访问日志(通常是/var/log/nginx/access.log):
tail -f /var/log/nginx/access.log
在Apache配置文件中(通常是/etc/apache2/sites-available/your-site.conf),确保你有类似以下的配置:
<VirtualHost *:80>
ServerName your-site.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://unix:/var/run/php/php7.x-fpm.sock|fcgi://localhost:9000
</VirtualHost>
然后查看Apache访问日志(通常是/var/log/apache2/access.log):
tail -f /var/log/apache2/access.log
你可以使用一些监控工具来实时监控PHP-FPM的性能,例如Prometheus和Grafana。
sudo apt update
sudo apt install prometheus grafana
编辑Prometheus配置文件(通常是/etc/prometheus/prometheus.yml),添加一个job来抓取PHP-FPM的指标:
scrape_configs:
- job_name: 'php-fpm'
static_configs:
- targets: ['localhost:9100']
sudo systemctl start prometheus
在Grafana中添加Prometheus作为数据源,并创建一个仪表盘来显示PHP-FPM的响应时间。
top和htop虽然这些工具不能直接显示PHP-FPM的响应时间,但它们可以帮助你监控系统的整体性能和资源使用情况。
top
htop
通过以上方法,你可以有效地监控Ubuntu上PHP-FPM的响应时间。选择适合你需求的方法进行实施。