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

时间: 2024-10-13 00:08:53

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

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

虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,slowlog设置可以让我们很好的看见哪些php进程速度太慢而导致的网站问题 php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的 ; The timeout for serving a single request after which a PHP backtrace will be

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

虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,slowlog设置可以让我们很好的看见哪些php进程速度太慢而导致的网站问题 php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的 ; The timeout for serving a single request after which a PHP backtrace will be

HTTPS协议在Tomcat中启用是如何配置的

版权声明:本文为博主阿甘(Gane_Cheng)原创文章,欢迎转载,传播知识,请留言告知并注明出处,方便文章有误改正之后能找到原文.个人之言,请抱着怀疑的态度参考! 目录(?)[+] 转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/53001846.html (浏览效果更好) 本文将讲解HTTPS协议在Tomcat中启用是如何配置的. 概念简介 Tom

实战项目memcached+tomcat+session+nginx在工作中的应用和配置

环境介绍:公司根据实际需要搭建一个购物网站,当用户购物时可以 将不同商品,放到同一个购物车中进行同时付款. 环境的搭建: 外网用户  IP地址:1.1.1.1  主机名:fanxiaohui  用户访问网站http://www.taobao.com 使用nginx实现负载均衡,由于网页是用JAVA开发的所以选用tomcat搭建网站服务,由于用户在购物时http是一个无状态的协议,不同的商品都是一个新的连接,默认不会把几个商品放到同一个购物车中,无法进行统一结账,为了能使服务器能够认识是同一个客户

在CDH5.14.2 中启用kudu的配置与验证

在CDH5.14.2 中启用kudu的配置 标签(空格分隔): 大数据平台构建 一: 系统平台介绍 二: 安装kudu的集成 一: 系统平台介绍 1.1. 关于kudu的介绍 Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺. Hadoop生态系统有很多组件,每一个组件有不同的功能.在现实场景中,用户往往需要同时部署很多Hadoop工具来解决同一个问

EMS 动手实验2:用户自助密码重设&条件访问策略强制用户使用MFA二次验证&启用标识保护配置风险检测

前言: 本系列实验将引导用户完成O365 企业移动性和安全性(Enterprise Mobility Security)的常用操作和配置,本着实用性和安全性的原则,该系列实验会建议一些最佳实践.本系列实验主要分为以下几个阶段: 将Azure AD 登陆和审核日志发送到Azure Monitor 用户自助密码重设&条件访问策略强制用户使用MFA二次验证&启用标识保护配置风险检测 使用 Privileged Identity Management建立管理角色的审批和授权 使用Intune 管理

在react项目中启用mobx的配置方法

1.安装插件 npm install --save-dev babel-preset-mobx mobx mobx-react 2.package.json配置 { "presets": ["mobx"] } 参考:https://cn.mobx.js.org/best/decorators.html 原文地址:https://www.cnblogs.com/piaobodewu/p/10505614.html

Mybatis中在log日志或控制台打印执行的sql

最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml <logger name="java.sql.Connection" level="DEBUG" /><logger name="java.sql.Statement" level="DEBUG" />&

【转】Tomcat启用HTTPS协议配置过程

转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/53001846.html (浏览效果更好) 本文将讲解HTTPS协议在Tomcat中启用是如何配置的. 1. 概念简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选. HTTP