Windows版本Apache+php的Xhprof应用__[2]
2013-12-13 16:30
357 查看
[计划]
“Windows版本Apache+php的Xhprof应用__[1]”中已经解决了下载,配置的问题,所以这里的工作是接着进行的,我们以调试一个 php代码的文件来看看是怎么用xhprof的。另外我测试了一个非常简单php页面,页面本身还没有优化过,这样比较的清晰和直观,优化过的也看不出 xhprof的分析有啥价值了。
[目标]
分析我的多层次调度页面index.html的性能,说明一下,xhprof只能分析php代码的性能,我的.html文件本身支持嵌入的php代码解析,所以不是说xhprof可以分析.html文件。
[步骤]
在apache的httpd.conf文件中,增加xhprof的路径配置,以方便分析性能时调度xhprof的库文件来分析php的代码性能,需要增加到httpd.conf的内容如下:
<Directory "M:/htdocs/xhprof_html/">
Options FollowSymLinks ExecCGI
AddHandler fcgid-script .php
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "M:/htdocs/xhprof_lib/">
Options FollowSymLinks ExecCGI
AddHandler fcgid-script .php
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule alias_module>
Alias /xhprof_html/ "M:/htdocs/xhprof_html/"
Alias /xhprof_lib/ "M:/htdocs/xhprof_lib/"
</IfModule>
大概说一下,我的“xhprof_html”和“xhprof_lib”全部放在了M盘的htdocs目录里,你需要自己改为自己的路径,另外,我的开发 主要是在php以fast-cgi方式运行下调试的,因为我的生产环境用的是fast-cgi实现的,这里顺便说下,fast-cgi的确非常好,破机子 访问量翻番居然扛下来了,至少暂时不用去换硬件了,赞一个的说。
下载和安装Graphviz,并修改xhprof的代码,然后实现输出调用过程的图形,百度搜索Graphviz关键字,然后到官方找到windows版 本的就可以了,网上还有其他网友制作的绿色版本,反正很容易得到,版本要在2.28以上最好,大家自己去找找吧,有网友说我第一篇里提供的地址下载不到那 个xhprof的dll文件,我只能说如果baidu里搜是木有的,要到google里去用英文模式搜,很容易找到,因为返回的结果很少啊。又跑题了,我 这里是把Graphviz安装到我的D:\WebServices目录的,如图1
图1
装好了就放那别动了,等下备用,接下来到M:\htdocs\xhprof_lib\utils目录去修改callgraph_utils.php库文件,如图2
如果是在widows环境下,$cmd 命令上面的参数 2 => array("file", "D:/tmp/error-output.txt", "a"),/dev/null需改成你自己定义的一个临时目录,后面文件名随便给否则就会出现shell错误
[align=center]图2[/align]
注意你的Graphviz是安装在哪里的,路径就添哪个位置,好了,到这里,就可以开始评估index.html的性能了,在需要进行性能分析的页面中增加代码,得到xhprof的调度过程分析结果,并输出直观的图形,在含php代码的页面顶端加入如图3代码
[align=center]图3[/align]
注释一下,第一段include放在头上,这个没啥可说的,注意,第二个红框指示的代码放的的位置很重要,因为这个代码上面的代码不会被分析的。
在php代码的尾部加入如图4代码
[align=center]图4[/align]
[align=center]图4附图:报告链接[/align]
注释一下,高亮的是查看性能分析页面的链接,注意你的apache配置,因为我这个例子是把xhprof直接放在了所有的开发站点的相对目录/xhprof_html/下的,如果你的另有花样,这里不写对,那永远也看不到xhprof分析的页面。
加好了代码,就是到浏览器里面去直接执行含有xhprof指令的页面啦,执行和正常一样,不过页面的最低部增加了一个报告链接,如图5所示,点击就显示出了xhprof的函数工况报告
[align=center]图5[/align]
[align=left]红色的就是性能瓶颈的部分,呵呵,清晰直观,希望大家成功![/align]
[结论]
windows下面也可以像linux下面那样调试啦~
“Windows版本Apache+php的Xhprof应用__[1]”中已经解决了下载,配置的问题,所以这里的工作是接着进行的,我们以调试一个 php代码的文件来看看是怎么用xhprof的。另外我测试了一个非常简单php页面,页面本身还没有优化过,这样比较的清晰和直观,优化过的也看不出 xhprof的分析有啥价值了。
[目标]
分析我的多层次调度页面index.html的性能,说明一下,xhprof只能分析php代码的性能,我的.html文件本身支持嵌入的php代码解析,所以不是说xhprof可以分析.html文件。
[步骤]
在apache的httpd.conf文件中,增加xhprof的路径配置,以方便分析性能时调度xhprof的库文件来分析php的代码性能,需要增加到httpd.conf的内容如下:
<Directory "M:/htdocs/xhprof_html/">
Options FollowSymLinks ExecCGI
AddHandler fcgid-script .php
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "M:/htdocs/xhprof_lib/">
Options FollowSymLinks ExecCGI
AddHandler fcgid-script .php
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule alias_module>
Alias /xhprof_html/ "M:/htdocs/xhprof_html/"
Alias /xhprof_lib/ "M:/htdocs/xhprof_lib/"
</IfModule>
大概说一下,我的“xhprof_html”和“xhprof_lib”全部放在了M盘的htdocs目录里,你需要自己改为自己的路径,另外,我的开发 主要是在php以fast-cgi方式运行下调试的,因为我的生产环境用的是fast-cgi实现的,这里顺便说下,fast-cgi的确非常好,破机子 访问量翻番居然扛下来了,至少暂时不用去换硬件了,赞一个的说。
下载和安装Graphviz,并修改xhprof的代码,然后实现输出调用过程的图形,百度搜索Graphviz关键字,然后到官方找到windows版 本的就可以了,网上还有其他网友制作的绿色版本,反正很容易得到,版本要在2.28以上最好,大家自己去找找吧,有网友说我第一篇里提供的地址下载不到那 个xhprof的dll文件,我只能说如果baidu里搜是木有的,要到google里去用英文模式搜,很容易找到,因为返回的结果很少啊。又跑题了,我 这里是把Graphviz安装到我的D:\WebServices目录的,如图1
图1
装好了就放那别动了,等下备用,接下来到M:\htdocs\xhprof_lib\utils目录去修改callgraph_utils.php库文件,如图2
如果是在widows环境下,$cmd 命令上面的参数 2 => array("file", "D:/tmp/error-output.txt", "a"),/dev/null需改成你自己定义的一个临时目录,后面文件名随便给否则就会出现shell错误
[align=center]图2[/align]
注意你的Graphviz是安装在哪里的,路径就添哪个位置,好了,到这里,就可以开始评估index.html的性能了,在需要进行性能分析的页面中增加代码,得到xhprof的调度过程分析结果,并输出直观的图形,在含php代码的页面顶端加入如图3代码
[align=center]图3[/align]
注释一下,第一段include放在头上,这个没啥可说的,注意,第二个红框指示的代码放的的位置很重要,因为这个代码上面的代码不会被分析的。
在php代码的尾部加入如图4代码
[align=center]图4[/align]
[align=center]图4附图:报告链接[/align]
注释一下,高亮的是查看性能分析页面的链接,注意你的apache配置,因为我这个例子是把xhprof直接放在了所有的开发站点的相对目录/xhprof_html/下的,如果你的另有花样,这里不写对,那永远也看不到xhprof分析的页面。
加好了代码,就是到浏览器里面去直接执行含有xhprof指令的页面啦,执行和正常一样,不过页面的最低部增加了一个报告链接,如图5所示,点击就显示出了xhprof的函数工况报告
[align=center]图5[/align]
[align=left]红色的就是性能瓶颈的部分,呵呵,清晰直观,希望大家成功![/align]
[结论]
windows下面也可以像linux下面那样调试啦~
相关文章推荐
- Windows版本Apache+php的Xhprof应用
- windows下安装php性能分析工具XHProf(windows版本)
- Windows/Linux 下查看Apache、Mysql、PHP版本
- Windows下Apache+PHP安装配置
- apache+php windows下配置
- 新的Windows Azure SDK for PHP 3.0版本现已推出
- windows下安装PHP性能分析工具 xhprof 笔记
- windows环境下apache+php发邮件功能
- Windows下的PHP版本分两种:线程安全版本与非线程安全版本。
- PHP的password_hash函数封装及应用(MD5、sha1的升级版本)
- xhprof 在5.6+版本的php中报错
- Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
- windows php 所有版本ftp 下载站点
- 新的Windows Azure SDK for PHP 3.0版本现已推出
- 最新版本 PHP (windows)开发环境配置
- PHP on Windows Azure 入门教学系列(一):在Windows Azure内运行PHP应用
- windows下apache+php环境搭建
- windows下apache+php配置
- Apache+php(fastcgi)x64(64bit)在windows环境下的配置
- 转发,windows下安装php、apache、mysql,并使得外网可访问内网的机器,搭建svn服务器提供版本控制