php-fpm 通过开启慢日志 slowlog 分析网站瓶颈

2022-05-25 09:27:03  浏览:357  作者:php

如果 php 动态页面访问非常慢,我们可以通过 php-fpm 慢日志进行分析网站的瓶颈。

php-fpm 慢日志 slowlog 设置 可以让我们很好的看见哪些 php 进程速度太慢而导致的网站问题。

首先通过 top -c 命令查看所有进程,查看 php-fpm 加载的配置文件地址,如下图:

QQ截图20220525093231.png

FPM 配置

参数:-p,命令行中动态修改--prefix

include=etc/php-fpm.d/*.conf,用于包含一个或多个文件,如果glob(3)存在(glob()函数返回匹配指定模式的文件名或目录)

php-fpm 会加载子配置文件,$pool 变量可以在任何指令中使用,他将会替代相应的进程池名字。例如:这里的[www]

开启慢日志

进入到 /usr/local/etc/php-fpm.d 子配置文件,找到 www.conf(根据自己实际情况),PHP 5.3.3 之后版本设置如下:

; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
request_slowlog_timeout = 1s
; The log file for slow requests
; Default Value: /usr/local/php/log/php-fpm.log.slow
slowlog = /usr/local/php/log/php-fpm.log.slow
; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the 'max_execution_time' ini option
; does not stop   execution for some reason. A value of '0' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
request_terminate_timeout = 10s

注:request_terminate_timeout 将执行时间太长的进程直接终止

request_slowlog_timeout 将执行过慢的文件写入日志

以后即可根据慢执行日志 /usr/local/php/log/php-fpm.log.slow 来优化程序文件了!


评论区

共 0 条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

【随机新闻】

返回顶部