xhprof
是facebook开源出来的一个php性能测试工具,也可以称之为profile工具,这个词不知道怎么翻译才比较达意。跟之前一直使用的xdebug相比,有很多类似之处。以前对xdebug有一些记录还可以供参考
,但是它的缺点是对性能影响太大,即便是开启了profiler_enable_trigger参数,用在生产环境中也是惨不忍睹,cpu立刻就飙到high。
而xhprof就显得很轻量,是否记录profile可以由程序控制,因此,用在生产环境中也就成为一种可能。在它的文档上可以看到这样一种用法:
以万分之一的几率启用xhprof,平时悄悄的不打枪。
PHP:
-
if
(
mt_rand
(
1
, 10000
)
== 1
)
{
-
xhprof_enable(
XHPROF_FLAGS_MEMORY)
;
-
$xhprof_on
= true
;
-
}
在程序结尾处调用方法保存profile
PHP:
-
if
(
$xhprof_on
)
{
-
// stop profiler
-
$xhprof_data
= xhprof_disable(
)
;
-
-
// save $xhprof_data somewhere (say a central DB)
-
...
-
}
也可以用register_shutdown_function方法指定在程序结束时保存xhprof信息,这样就免去了结尾处判断,给个改写的不完整例子:
PHP:
-
if
(
mt_rand
(
1
, 10000
)
== 1
)
{
-
xhprof_enable(
XHPROF_FLAGS_MEMORY)
;
-
register_shutdown_function
(
create_funcion(
''
, "$xhprof_data = xhprof_disable(); save $xhprof_data;"
)
)
;
-
}
至于日志,我暂时用的是最土的文件形式保存,定期清除即可。
BTW:xhprof生成的图形方式profile真是酷毙了,哪段代码成为瓶颈,一目了然。
分享到:
相关推荐
本篇文章是对在生产环境中使用php性能测试工具xhprof进行了详细的分析介绍,需要的朋友参考下
md_xhprof 是 PHP性能测试工具 xhprof 的升级版,与 PHP7 配合使用
里面是windows xhprof的测试工具,包括测试工具,画图软件,代码修改和测试工具部署。注意的是自己php的版本我这里是5.5的
主要介绍了PHP性能测试工具xhprof安装与使用方法,简单说明了性能测试工具xhprof的功能并较为详细的分析了xhprof安装与使用相关操作技巧,需要的朋友可以参考下
HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。基于浏览 器的性能分析用户界面能更容易查看,或是与同行们...
详细的介绍了windows下 PHP 使用 Xhprof 的安装与配置,并详细介绍了配置GRAphviz以对性能分析报告进行可视化输出。
xhprof 性能测试工具!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ydb 是像gdb一样的php调试工具,用扩展实现,可以在运行过程中查看变量值,也可以进行性能测试,而不用对源代码进行任何更改,就像xdebug和xhprof 中提供的功能,但使用更方便 ydb也可以称为一个在线调试工具,...
Profiling能够深入程序的内部,展现request处理过程中每一部分代码的性能;同时,也可以确定有问题的请求(request);对于有问题的请求,我们还可以确定性能问题发生在请求内部的位置。对于PHP,我们有多种...
PHP Profile工具:通过xhprof收集性能信息,查看方法执行过程的路径及耗时情况。作为PHP测试工具,PHPRay并不提供类似PHPUnit的自动化测试功能,也没有代码覆盖率的要求,更多的是通过执行待测试的方法和在控制台...