首页 > 程序人生 > windows下安装PHP性能分析工具 xhprof 笔记
2014
11-11

windows下安装PHP性能分析工具 xhprof 笔记

1.先phpinfo看看自己的php环境及版本

2.http://pecl.php.net/package/xhprof,这里下载对应的windows版本扩展

3.放在php/ext下面,刷新phpinfo,是不是有了xhprof选项信息了?

4.http://www.graphviz.org/Download_windows.php,下载2.8的graphviz,看报告用的,安装到你指定目录

5.修改php.ini,添加:

[xhprof]
xhprof.output_dir=”c:/wamp/xhprof_log”

6.记得把2里面下载的xhprof_html解压安装到你的www目录,比如www\xhprof

配置xhprof目录下的config.php

7.执行 http://localhost/xhprof/examples/sample.php

看看c:/wamp/xhprof_log 目录下有没有日志文件 ?
按照sample提示的查看报表:
http://localhost/xhprof/xhprof_html/index.php?run=生成日志 的编号&source=xhprof_foo

另外一篇文章,参考一下:http://blog.sina.com.cn/s/blog_9703d89601011g7e.html

8.使用XHProf, 在你要监测的Php代码头尾部分别加入代码xhprof_enable()和xhprof_disable()

1). 查看单个报告。
# 我们想要查看 4b4c239a86593.xhprof 这个报告的详细信息,查看链接如下:

http://ecos.cn/xhprof_html/index.php?run=4b4c239a86593&source=xhprof

2). 比较两个报告。
# 我们想比较 4b4c239a86593.xhprof 和 4b4c2645794f0.xhprof 两个报告,查看链接如下:

http://ecos.cn/xhprof_html/index.php?run1=4b4c239a86593&run2=4b4c2645794f0&source=xhprof

我们可以看到精确到函数级的分析数据,包括调用次数、CPU、内存等,还可以不断的向下跟踪。

相信如此详细的数据,将会给程序优化工作,带来巨大的帮助和便利。

9.而xhprof就显得很轻量,是否记录profile可以由程序控制,因此,用在生产环境中也就成为一种可能。在它的文档上可以看到这样一种用法:

以万分之一的几率启用xhprof,平时悄悄的不打枪。

if (mt_rand(1, 10000) == 1) {
 xhprof_enable(XHPROF_FLAGS_MEMORY);
 $xhprof_on = true;
}

在程序结尾处调用方法保存profile

if ($xhprof_on) {
 // stop profiler
 $xhprof_data = xhprof_disable();

 // save $xhprof_data somewhere (say a central DB)
 ...
}

也可以用register_shutdown_function方法指定在程序结束时保存xhprof信息,这样就免去了结尾处判断,给个改写的不完整例子:

if (mt_rand(1, 10000) == 1) {
 xhprof_enable(XHPROF_FLAGS_MEMORY);
 register_shutdown_function(create_funcion('', "$xhprof_data = xhprof_disable(); save $xhprof_data;"));
}

编程技巧