当前位置: 首页 > 编程笔记 >

nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

权胜泫
2023-03-14
本文向大家介绍nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本),包括了nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)的使用技巧和注意事项,需要的朋友参考一下

很多站长转到nginx+php-fpm后,饱受500,502问题困扰。当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时。

php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的

; 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 = 0

当request_slowlog_timeout 设为一个具体秒时request_slowlog_timeout =5,表示如果哪个脚本执行时间大于5秒,会记录这个脚本到慢日志文件中

request_slowlog_timeout =0表示关闭慢日志输出。

慢日志文件位置默认在php的安装目录下的log文件夹中,可以通过修改slowlog = log/$pool.log.slow参数来指定。

php-fpm慢日志的例子,慢日志会记录下进程号,脚本名称,具体哪个文件哪行代码的哪个函数执行时间过长。

[21-Nov-2013 14:30:38] [pool www] pid 11877
script_filename = /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php
[0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php:2

[21-Nov-2013 14:15:23] ERROR: [pool www] 'slowlog' must be specified for use with 'request_slowlog_timeout'


request_slowlog_timeout 和 slowlog需要同时设置,开启request_slowlog_timeout的同时需要开启 slowlog
[21-Nov-2013 14:16:27] ERROR: Unable to create or open slowlog(/usr/local/lnmp/php/log/www.log.slow): No such file or directory (2)

慢日志路径需要手动创建

具体开启php-fpm慢日志步骤:

cd /usr/local/lnmp/php

vi etc/php-fpm.conf
去掉request_slowlog_timeout 、slowlog的前缀分号';',设置request_slowlog_timeout =5;

:wq 保存退出

创建慢日志目录 mkdir log

重启php-fpm kill -INT `cat var/run/php-fpm.pid sbin/php-fpm

 类似资料:
  • 本文向大家介绍php性能分析之php-fpm慢执行日志slow log用法浅析,包括了php性能分析之php-fpm慢执行日志slow log用法浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php性能分析之php-fpm慢执行日志slow log用法。分享给大家供大家参考,具体如下: 众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性

  • 本文向大家介绍MySQL 慢查询日志的开启与配置,包括了MySQL 慢查询日志的开启与配置的使用技巧和注意事项,需要的朋友参考一下 简介 MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能。 查看是否开启慢查询功能: 说明: slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的

  • 本文向大家介绍MySQL慢查询日志的作用和开启,包括了MySQL慢查询日志的作用和开启的使用技巧和注意事项,需要的朋友参考一下 前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认

  • 慢查询日志是 Redis 提供的一个用于观察系统性能的功能, 这个功能的实现非常简单, 这里我们也简单地讲解一下。 本章先介绍和慢查询功能相关的数据结构和变量, 然后介绍 Redis 是如何记录命令的执行时间, 以及如何为执行超过限制事件的命令记录慢查询日志的。 相关数据结构 每条慢查询日志都以一个 slowlog.h/slowlogEntry 结构定义: typedef struct slowl

  • 本文向大家介绍MYSQL慢查询与日志的设置与测试,包括了MYSQL慢查询与日志的设置与测试的使用技巧和注意事项,需要的朋友参考一下 一、简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。 二、参数说明 slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要My

  • 本文向大家介绍MySQL 开启慢查询日志的方法,包括了MySQL 开启慢查询日志的方法的使用技巧和注意事项,需要的朋友参考一下 1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。 1.2 登录数据库查看 因为没有设置设置密码,有密码的在 mysql –uroot –p 接密码 1.2.1 进入MySql 查询是否开了