php-fpm7.0慢查询设置的示例分析
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍php-fpm7.0慢查询设置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
环境说明
root@ubuntu:/home/tb# cat /etc/issueUbuntu 16.04.2 LTS \n \lroot@ubuntu:/home/tb# php -vPHP 7.0.15-0ubuntu0.16.04.4 (cli) ( NTS )Copyright (c) 1997-2017 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.15-0ubuntu0.16.04.4, Copyright (c) 1999-2017, by Zend Technologies
查看php-fpm配置路径
root@ubuntu:/home/tb# ps -ef |grep fpmroot 1642 1 0 10:17 ? 00:00:01 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)www-data 3685 1642 0 17:14 ? 00:00:04 php-fpm: pool wwwwww-data 3686 1642 0 17:14 ? 00:00:03 php-fpm: pool wwwwww-data 3808 1642 0 17:43 ? 00:00:03 php-fpm: pool wwwroot 3930 2208 0 18:10 pts/0 00:00:00 grep --color=auto fpmroot@ubuntu:/home/tb#
php-fpm.conf
的最后一行为
include=/etc/php/7.0/fpm/pool.d/*.conf
那我们去那里改www.conf
,查看关于慢查询的介绍
314 ; The log file for slow requests315 ; Default Value: not set316 ; Note: slowlog is mandatory if request_slowlog_timeout is set317 ;slowlog = log/$pool.log.slow318319 ; The timeout for serving a single request after which a PHP backtrace will be320 ; dumped to the 'slowlog' file. A value of '0s' means 'off'.321 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)322 ; Default Value: 0323 ;request_slowlog_timeout = 0
添加两行配置
slowlog=/var/log/php7.0/fpm/slow.logrequest_slowlog_timeout=1s
重启fpm,同时注意目录权限等一般问题
service php7.0-fpm reload
查看log回显结果
[03-Jan-2018 18:48:53] [pool www] pid 4934script_filename = /usr/share/nginx/ testapp/index.php[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11[0x00007fb6262134a0] __construct() /usr/share/nginx/ci_2.2.0/core/Loader.php:303[0x00007fb626213390] model() /usr/share/nginx/ testapp/app/core/my_Controller.php:39[0x00007fb6262132e0] __construct() /usr/share/nginx/ testapp/app/controllers/home.php:8[0x00007fb626213270] __construct() /usr/share/nginx/ci_2.2.0/core/CodeIgniter.php:308[0x00007fb6262130e0] [INCLUDE_OR_EVAL]() /usr/share/nginx/ testapp/index.php:325[03-Jan-2018 18:48:53] [pool www] pid 4931script_filename = /usr/share/nginx/ testapp/index.php[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11[0x00007fb6262134a0] __construct() /usr/share/nginx/ci_2.2.0/core/Loader.php:303[0x00007fb626213390] model() /usr/share/nginx/ testapp/app/core/my_Controller.php:39[0x00007fb6262132e0] __construct() /usr/share/nginx/ testapp/app/controllers/home.php:8[0x00007fb626213270] __construct() /usr/share/nginx/ci_2.2.0/core/CodeIgniter.php:308[0x00007fb6262130e0] [INCLUDE_OR_EVAL]() /usr/share/nginx/ testapp/index.php:325
关于log的说明
[03-Jan-2018 18:48:53] [pool www] pid 4931
这个没啥解释,时间进程id
script_filename = /usr/share/nginx/ testapp/index.php
执行脚本名称,php web应用都为单入口
[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11
这个第三行比较重要:是堆栈顶部信息(is the top of the stack trace),他说明指出了超出了阈值的当前执行的方法的函数调用是哪个,以及具体的文件及代码行数
剩下的其他部分就是 调用的顺序(从下往上,最终导致变慢超时的结果)
其他说明
如果发现第三行是以类似curl_exec()
,比如:这一般是网络io占用了时间,如果是必须请求第三方,那么。。忍吧。
[0x00007fb6262136f0] curl_exec() /usr/share/nginx/
同样,如果有mysql_query
之类的,也是由于sql
慢查询导致的
以上是“php-fpm7.0慢查询设置的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341