IT技术博客大学习 共学习 共进步

PHP版的slow-query

互联网,请记住我 2009-11-10 09:16:39 浏览 2,242 次

    slowphp是由本人开发的一个简单的PHP扩展。目的在于记录web server上执行时间过长的php脚本。用法和mysql上的slow query极为相似。

    代码地址:http://github.com/xurenlu/slowphp/.已经完成。在我的ubuntu 上试过了,嗯。PHP5的。

    版本: 1.0

    示例:在php.ini中加入:

    extension=slowphp.so

    [slowphp]

    slowphp.long_query_time=3

    slowphp.long_query_log=”/var/log/php_long_query.log”

    slowphp.long_query_log_probability=1000

    slowphp.long_query_lock_file=”/tmp/open_long_query”

    然后重启yapache,运行一段时间后即可查看/var/log/php_long_query.php中记录下了慢脚本的启动时间,消耗时间和脚本路径。

    记录脚本执行时间的情况为:

    1.当执行时间超过long_query_time的设置时。比如本文设置的是3,则执行时间超过3秒的都视为long_query,都记录在案。

    2.有千分之一的概率记录当前脚本执行时间。不管执行时间是否超过long_query_time的设置。

    3.有/tmp/open_long_query文件存在时,记录当前脚本执行时间。不管执行时间是否超过long_query_time的设置。

    这样一来能极大地方便线上脚本运行效率的监控。