日志-php-fpm慢日志查询

项目用php开发,在生产运行的过程中,应该一段时间监测下php脚本运行状态,哪些php进程速度太慢,有哪些错误日志。

问:如何来查看检测比较慢的php脚本呢?

答:查看php-fpm慢日志。

1.先查找到配置文件存放地址

find / -name php-fpm.conf

vi /usr/servers/php/etc/php-fpm.conf

打开看看你的慢日志是否开启,或者开启的慢日志存放在哪里。

对应的地址都换成你自己的即可。

2.如果没有开启慢日志查询,先开启

默认的 request_slowlog_timeout 是0,php的慢脚本日志是关闭的,因此设置为大于0的n,表示执行时间超过n的脚本将记录进入slowlog里。

然后监测到网站存在问题的时候查看下slowlog即可发现慢脚本,对脚本进行检查处理即可。

request_slowlog_timeout 和 slowlog需要同时设置,

开启request_slowlog_timeout的同时需要开启 slowlog,

慢日志路径需要手动创建

去掉request_slowlog_timeout 、slowlog的前缀分号‘;‘
设置request_slowlog_timeout =1;
:wq    //保存退出创建慢日志目录
mkdir -p /var/logdata/php-fpm/php-fpm-slowlog.log
killall php-fpm/usr/servers/php/sbin/php-fpm //重启php-fpm

3.找到慢日志存放地址

4.观察慢日志信息

tailf /var/logdata/php-fpm/php-fpm-slowlog.log

开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息:

[19-Dec-2016 16:54:49] [pool www] pid 18575
script_filename = /home/web/htdocs/sandbox_canglong/test/tt.php
[0x0000000003a00dc8] curl_exec() /home/web/htdocs/sandbox_canglong/test/tt.php:2
[0x0000000003a00cd0] exfilter_curl_get() /home/web/htdocs/sandbox_canglong/test/tt.php:6

日志说明:

script_filename 是入口文件

curl_exec() : 说明是执行这个方法的时候超过执行时间的。

exfilter_curl_get() :说明调用curl_exec()的方法是exfilter_curl_get() 。

每行冒号后面的数字是行号。

开启后,在错误日志文件中也有相关记录。如下:

[19-Dec-2016 15:55:37] WARNING: [pool www] child 18575, script ‘/home/web/htdocs/sandbox_canglong/test/tt.php‘ (request: "GET /test/tt.php") executing too slow (1.006222 sec), logging
[19-Dec-2016 15:55:37] NOTICE: child 18575 stopped for tracing
[19-Dec-2016 15:55:37] NOTICE: about to trace 18575
[19-Dec-2016 15:55:37] NOTICE: finished trace of 18575

系统日志:记录系统相关信息:http://blog.csdn.net/ty_hf/article/details/55511624

apache访问日志与错误日志http://blog.csdn.net/ty_hf/article/details/55504719

nginx访问日志与错误日志http://blog.csdn.net/ty_hf/article/details/55518070

php-fpm慢日志:检测执行较慢的PHP脚本:http://blog.csdn.net/ty_hf/article/details/55504172

php错误日志:检测php运行时或用户自记录错误日志:http://blog.csdn.net/ty_hf/article/details/55505262

mysql慢日志:记录mysql服务器中影响性能的SQL:http://blog.csdn.net/ty_hf/article/details/55504172

本文地址:http://blog.csdn.net/ty_hf/article/details/55504172

时间: 2024-10-05 17:35:11

日志-php-fpm慢日志查询的相关文章

seci-log 1.04 日志分析增加 windows 日志分析

本次升级并没有增加新的告警,而是增加了window的日志分析,主要分析了windows的登录日志和操作日志,这两个比较重要的日志类型,其他日志类型可以作为通用的日志收集功能进行存储查询. Windows系统没有自带的功能支持系统日志进行syslog发送,因此需要依赖第三方工具,这里我们推荐一款非常好用的轻量级日志采集模块:Nxlog,在Windows下部署和配置均十分便捷. 注:本人测试过2008 ,2003 server,理论上2012也是可以的,其他环境没有测试,如果有问题欢迎到群里咨询.

c#.NET中日志信息写入Windows日志中解决方案

1. 目的应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.在Windows2000及以上操作系统中,有一个Windows日志系统,它包括应用程序(Application)事件日志.系统(System)日志和安全(Security)日志,事件日志也可以是自定义日志.在.net Framework中也提供了相应的类和接口来使用应用程序事件日志或者自定义事件日志.使用Wi

【转】MYSQL启用日志,和查看日志

转载地址:http://wasabi.iteye.com/blog/318962 mysql有以下几种日志:     错误日志:     -log-err 查询日志:     -log 慢查询日志:   -log-slow-queries 更新日志:     -log-update 二进制日志: -log-bin 是否启用了日志 mysql>show variables like 'log_%'; 怎样知道当前的日志 mysql> show master status; 顯示二進制日志數目 m

搜索日志、如何搜索日志

搜索日志.如何搜索日志EventLog Analyzer提供了专门的日志搜索功能,你可以搜索原始日志来发现网络异常,如:错误的配置.病毒.非法访问.应用错误等等.点击"搜索"标签.日志搜索栏如下:选择具体的主机.主机组把搜索范围限制到具体的主机或主机组.在文本框中输入或者通过"选择主机"链接选择.如果没有指定主机,就会在所有的主机日志中搜索.选择日志类型选择具体的搜索日志类型(例如:Windows事件日志.syslog.Oracle日志等),通过日志类型下拉菜单选择

06 : mysql 的 binlog 日志 和slow慢日志 详解

mysql 的 binlog 日志 和slow慢日志 详解 mysql一般常用的日志有三种:1:error错误日志2: binlog日志3:slow日志 下面将详细解释这三种日志: 1.错误日志记录MySQL启动或工作过程中,数据库状态信息,默认就是开启的,数据路径下$hostname.err.也可以指定错误路径:log_error=/var/log/mysql3306.log 2.二进制binlog日志(1)他记录了什么?记录了所有的数据库修改类的命令:DDLDCLDML (2)二进制日志记录

nginx日志配置,以及日志轮询

一.为nginx配置错误日志 Nginx错误日志是调试nginx的重要手段,属于核心功能模块的参数(ngx_core_module)该参数名字为err_log,是放在Main区块中全局配置 err_log的语法格式以及参数语法说明如下 err_log   file              level(级别) 关键字           日志文件              错误日志级别 其中关键字err_log不能改变 1 1.在配置文件中写入error_log logs/error.log e

日志系统之Flume日志收集

最近接手维护一个日志系统,它用于对应用服务器上的日志进行收集然后提供实时分析.处理并最后将日志存储到目标存储引擎.针对这三个环节,业界已经有一套组件来应对各自的需求需求,它们是flume+kafka+hdfs/hbase.我们在实时分析.存储这两个环节,选择跟业界的实践相同,但agent是团队自己写的,出于对多种数据源的扩展需求以及原来收集日志的方式存在的一些不足,于是调研了一下flume的agent.结果是flume非常契合我们的实际需求,并且拥有良好的扩展性与稳定性.于是打算采用flume的

手动切换日志文件和清空日志文件

切换日志文件组 日志文件组是循环使用的,当一组日志文件被写满时,oracle系统自动的切换到下一组日志文件.在需要的时候,数据库管理员也可以手动的切换到其他的日志文件组.切换日志文件组需要使用如下的语句: alter system switch logfile; 清空日志文件组 如果日志文件组中的日志文件受损,将导致数据库无法将受损的日志文件进行归档,这会最终导致数据库停止运行.此时,在不关闭数据库的情况下,可以选择清空日志文件组中的内容. 清空日志文件组的语法如下: alter databas

传递给数据库 'master' 中的日志扫描操作的日志扫描号无效

错误:连接数据库的时候提示:SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 C:\Documents and Settings\Administrator>"C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe" /q /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS

rsyslog 服务器重启后 发现不能接受到外部日志 只能接受本地日志 关闭防火墙即可

rsyslog 服务器重启后 发现不能接受到外部日志 只能接受本地日志  关闭防火墙即可 1 关闭防火墙: # systemctl stop firewalld 2 将SELINUX设置为disabled # setenforce 0 # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config