在Ubuntu中,使用PHP-FPM(FastCGI Process Manager)处理慢请求可以通过调整配置文件来实现。以下是一些建议:
打开PHP-FPM配置文件,通常位于/etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
是你的PHP版本。例如,对于PHP 7.4,路径可能是/etc/php/7.4/fpm/pool.d/www.conf
。
找到以下参数并进行调整:
request_slowlog_timeout
:此参数定义了慢请求的超时时间(以秒为单位)。默认值通常为0,表示不记录慢请求。将其设置为一个合适的值,例如10s,以便记录超过10秒的请求。request_slowlog_timeout = 10s
slowlog
:此参数定义了慢请求日志文件的路径。确保此文件可写,并定期检查以分析慢请求。slowlog = /var/log/php-fpm/www-slow.log
打开PHP配置文件php.ini
,通常位于/etc/php/{version}/cli/php.ini
或/etc/php/{version}/fpm/php.ini
。例如,对于PHP 7.4,路径可能是/etc/php/7.4/cli/php.ini
或/etc/php/7.4/fpm/php.ini
。
找到以下参数并进行调整:
max_execution_time
:此参数定义了脚本的最大执行时间(以秒为单位)。将其设置为一个合适的值,例如30s,以便终止超过30秒的请求。max_execution_time = 30
memory_limit
:此参数定义了脚本允许使用的最大内存。将其设置为一个合适的值,例如128M,以便限制请求的内存使用。memory_limit = 128M
在修改配置文件后,重启PHP-FPM服务以使更改生效。在终端中运行以下命令:
sudo systemctl restart php{version}-fpm
将{version}
替换为你的PHP版本,例如:
sudo systemctl restart php7.4-fpm
定期检查慢请求日志文件(例如/var/log/php-fpm/www-slow.log
),分析慢请求的原因,并相应地优化代码和配置。
通过以上步骤,你可以使用PHP-FPM在Ubuntu中处理慢请求。请注意,这些设置可能需要根据你的应用程序和服务器性能进行调整。