用PHP-FPM 的 slow log 分析网站

   2016-08-30 0
核心提示:最近从GOOGLE ananlytics 发现网站速度变慢了很多, 于是想到了PHP中的FPM慢日志功能。好在 PHP-FPM 提供了慢执行日志,可以将执行比较慢的脚本的调用过程 dump 到日志中。cd /etc/php5/fpm/pool.d/vi www.conf修改配置; The timeout for serving a single re

最近从GOOGLE ananlytics 发现网站速度变慢了很多,  于是想到了PHP中的FPM慢日志功能。

好在 PHP-FPM 提供了慢执行日志,可以将执行比较慢的脚本的调用过程 dump 到日志中。

cd /etc/php5/fpm/pool.d/
vi www.conf

 修改配置

; 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

加上慢执行日志后,我们可以很容易从慢执行日志中看出问题所在,比如:

[13-May-2013 05:17:12]  [pool www] pid 13557                                                                                                                    
script_filename = /opt/www/inkebook/index.php                                                                                                                   
[0x000000000292e0f0] commit() /opt/www/inkebook/includes/database/mysql/database.inc:166                                                                        
[0x000000000292de88] popCommittableTransactions() /opt/www/inkebook/includes/database/database.inc:1128                                                         
[0x000000000292dcf0] popTransaction() /opt/www/inkebook/includes/database/database.inc:1905                                                                     
[0x00007fffe78cc460] __destruct() unknown:0                                                                                                                     
[0x000000000292c690] execute() /opt/www/inkebook/modules/statistics/statistics.module:73                                                                        
[0x00007fffe78cc900] statistics_exit() unknown:0                                                                                                                
[0x000000000292c208] call_user_func_array() /opt/www/inkebook/includes/module.inc:857                                                                           
[0x000000000292bf10] module_invoke_all() /opt/www/inkebook/includes/common.inc:2688                                                                             
[0x000000000292ade0] drupal_page_footer() /opt/www/inkebook/includes/common.inc:2676                                                                            
[0x000000000292aa28] drupal_deliver_html_page() /opt/www/inkebook/includes/common.inc:2560                                                                      
[0x000000000292a378] drupal_deliver_page() /opt/www/inkebook/includes/menu.inc:532                                                                              
[0x000000000292a198] menu_execute_active_handler() /opt/www/inkebook/index.php:21

 再进行进一步的程序分析,就更具方向性了。

欢迎访问下面网站, 下载 电子书

http://www.inkebook.com/

 
标签: PHP-FPM MySQL
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • php-fpm进程管理的三种模式 phpfpm子进程
    php-fpm进程管理的三种模式 phpfpm子进程
    php-fpm解读-进程管理的三种模式—程序媛大丽标明转载以示尊重 感谢原作者的分享。php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worke
    03-08
  • nginx和php-fpm 是使用 tcp socket 还是 unix s
    tcp socket允许通过网络进程之间的通信,也可以通过loopback进行本地进程之间通信。unix socket允许在本地运行的进程之间进行通信。分析从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需要经过loopback,还要申请临时端口和tcp相关资源。但是
    03-08
  • docker报错 ERROR: Service 'workspace�
    在 Windows 系统中使用 Laradock 搭建基于 Docker 的 PHP 开发环境执行命令 docker-compose up nginx mysql redis执行过程中出现错误报 laradock ERROR: Service ‘workspace’ failed to build:报 docker ERROR: Service 'php-fpm' failed to build:解决方案
    02-09
  • Nginx+Php-fpm运行原理详解
    Nginx+Php-fpm运行原理详解
    一、代理与反向代理现实生活中的例子1、正向代理:访问google.com如上图,因为google被墙,我们需要***FQ才能访问google.com。***对于“我们”来说,是可以感知到的(我们连接***)***对于”google服务器”来说,是不可感知的(google只知道有http请求过来)。
    02-09
  • php-fpm怎么优化
    php-fpm怎么优化
    本文小编为大家详细介绍“php-fpm怎么优化”,内容详细,步骤清晰,细节处理妥当,希望这篇“php-fpm怎么优化”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是 php-fpm?许多开发人员对 DevOps 方面的知识不太感兴趣,即使
    02-08 phpphp-fpm
  • LAMP-PHP-fpm服务器配置
    LAMP-PHP-fpm服务器配置
    PHP简介安装PHP解决依赖关系# 请配置好yum源(系统安装源及epel源)后执行如下命令:yum -y groupinstall Desktop Platform Developmentyum -y install bzip2-devel libmcrypt-devel mhash-devel编译安装php-5.4.26tar xf php-5.4.26.tar.bz2cd php-5.4.26./c
    02-05 LAMPPHP-FPM
  • nginx/apache+php-fpm环境
    nginx/apache+php-fpm环境
    最近上了一批debian7的机器,刚好有web项目要上,debian7中已经把php-fpm集成进去了,打算把以前的apache+mod_php模式换成nginx+php-fpm或者apache+php-fpm模式,apache毕竟模块多还更稳定一些。1 nginx+php-fpm安装nginxapt-get install nginx安装php及php-f
  • php-fpm不输出php错误日志
    使用如下php的配置php-fpm.conf[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /usr/local/php/var/log/php-fpm.loglog_level = notice [www]listen = /tmp/php-cgi.socklisten.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner =
    12-23 PHP-FPM
  • 关于php-fpm reload的优雅实现
    关于php-fpm reload的优雅实现
    我们知道,nginx的reload是不会影响服务的,php-fpm也有reload 功能,而且确实不是restart,但是却是影响服务的,下面给出一种改进方式,是的php-fpm的reload不影响服务修改源代码:重写init脚本:#! /bin/sh### BEGIN INIT INFO# Provides:php-fpm# Required
    12-11 PHP-FPM
  • valgrind 检测 php-fpm 内存泄漏
    最近线上服务器安装了一些扩展,导致 php-fpm 内存增长过快,虽然可以通过配置最大请求数和定时脚本来重启 php-fpm ,但是也抱着学习折腾的精神来学习下valgrind的使用。 下面的配置都是在我自己的服务器上测试,就是该博客运行的服务器上。下载安装wget http
点击排行