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使用详解 #### 1. xhprof概述 xhprof是一款由Facebook开源的PHP性能测试工具,主要用于性能分析和优化。它是一个轻量级的profile工具,用于监控PHP应用程序的性能,如执行时间和内存消耗...
本篇文章将围绕"windows xhprof php性能测试工具全套"这一主题,详细介绍如何在Windows系统中搭建并使用XHProf。 首先,XHProf的核心在于它的探查器,它可以收集关于PHP脚本运行时的各种信息,如CPU时间、内存消耗...
MD_XHProf是PHP性能分析和优化领域的一个重要工具,它是经典的XHProf的升级版本,专为PHP7设计和优化。XHProf是Facebook开源的一款强大的性能剖析器,能够帮助开发者深入理解代码执行的各个方面,包括CPU使用、内存...
下面将详细介绍这三者如何协同工作,实现PHP性能测试的可视化流程。 首先,WAMP是Windows上的一个开源软件套装,包含了Apache web服务器、MySQL数据库和PHP解释器,为开发者提供了一个快速搭建本地PHP开发环境的...
XHProf是一款由Facebook开源的PHP轻量级性能分析工具,与Xdebug类似,但它在性能上的开销更低,特别适合用于生产环境的性能分析,而且能够通过程序控制是否开启性能分析。XHProf支持基于Web的用户界面,方便查看性能...
使用时,在被分析代码的核心文件加载之前和之后分别加上xhprof的性能测试代码。代码开启后,执行核心文件的代码,最后通过xhprof_disable()结束性能测试。之后,通过XHProf提供的工具将收集到的数据保存并生成报表。...
**xhprof:深入理解PHP性能测试工具** xhprof是一款强大的性能分析工具,专为PHP语言设计,用于帮助开发者定位代码中的性能瓶颈。这款工具由Facebook开发并开源,能够提供CPU使用率、内存消耗以及函数调用等各种...
因此,在需要跟踪线上环境的PHP性能时,推荐使用XHProf这一轻量级性能分析工具。XHProf是Facebook开源的性能分析工具,它可以减少性能开销,同时支持灵活的配置,并允许在生产环境中进行性能跟踪分析。 安装XHProf...
因此,建议只在调试和性能测试阶段开启xhprof,生产环境中慎用。 总结,xhprof是PHP性能优化的重要工具,通过它可以有效地定位和解决代码中的性能问题。正确安装并使用xhprof,能帮助开发者提升PHP应用的效率,实现...
6. **与其他工具的集成**:xhprof还可与持续集成工具如Jenkins、Travis CI等集成,实现自动化性能测试和报告生成,确保代码优化的效果。 7. **社区支持**:尽管官方不再维护,但xhprof拥有活跃的社区,开发者们提供...
本文中使用了Nginx作为Web服务器,并配置了一个可以访问XHProf界面的域名。 XHProf的HTML界面文件可以通过访问配置好的域名来使用,例如,***。 在配置完XHProf之后,需要安装GraphViz软件包。这是因为XHProf在...
而被动分析器如XHProf则是为了在生产环境中使用而设计的,对性能影响小,足以诊断性能问题。 ### XHProf和XHGui XHProf是由Facebook开发的一个性能分析工具,它提供了一个基本的用户界面来查看性能数据。Paul ...
XHProf、Blackfire或New Relic等性能分析工具能帮助程序员识别代码瓶颈,优化性能。它们提供详细的CPU和内存使用报告,帮助定位问题并进行针对性改进。 8. **项目管理和协作** JIRA、Trello或GitHub Issues等项目...
**在Laravel项目中使用Xhprof** 1. **启动Xhprof**:在Laravel应用中,通过调用`xhprof_enable()`函数启动性能分析,指定所需的标志,如CPU和内存使用。 2. **执行测试代码**:运行需要分析的代码段,如`foo()`函数...
不过,在生产环境中,通常会关闭错误显示,而是将错误日志记录到文件中。 此外,var_dump和print_r函数用于在运行时输出变量信息,帮助理解变量的值和类型。结合die或exit函数,可以在特定位置终止代码执行,查看...