温馨提示×

如何在Ubuntu上监控PHP-FPM响应时间

小樊
54
2025-08-23 18:04:24
栏目: 编程语言

在Ubuntu上监控PHP-FPM响应时间,可以通过以下几种方法:

1. 使用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

2. 使用nginxapache日志

如果你使用的是Nginx或Apache作为Web服务器,可以通过它们的访问日志来监控PHP-FPM的响应时间。

Nginx

在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

在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

3. 使用监控工具

你可以使用一些监控工具来实时监控PHP-FPM的性能,例如Prometheus和Grafana。

安装Prometheus和Grafana

sudo apt update
sudo apt install prometheus grafana

配置Prometheus

编辑Prometheus配置文件(通常是/etc/prometheus/prometheus.yml),添加一个job来抓取PHP-FPM的指标:

scrape_configs:
  - job_name: 'php-fpm'
    static_configs:
      - targets: ['localhost:9100']

启动Prometheus

sudo systemctl start prometheus

配置Grafana

在Grafana中添加Prometheus作为数据源,并创建一个仪表盘来显示PHP-FPM的响应时间。

4. 使用tophtop

虽然这些工具不能直接显示PHP-FPM的响应时间,但它们可以帮助你监控系统的整体性能和资源使用情况。

top
htop

通过以上方法,你可以有效地监控Ubuntu上PHP-FPM的响应时间。选择适合你需求的方法进行实施。

0