zoukankan      html  css  js  c++  java
  • Windows版本Apache+php的Xhprof应用__[2]

    [计划]
    “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:htdocsxhprof_libutils目录去修改callgraph_utils.php库文件,如图2
    • 如果是在widows环境下,$cmd 命令上面的参数 2 => array("file", "D:/tmp/error-output.txt", "a"),/dev/null需改成你自己定义的一个临时目录,后面文件名随便给否则就会出现shell错误

    图2
    • 注意你的Graphviz是安装在哪里的,路径就添哪个位置,好了,到这里,就可以开始评估index.html的性能了,在需要进行性能分析的页面中增加代码,得到xhprof的调度过程分析结果,并输出直观的图形,在含php代码的页面顶端加入如图3代码
     

    图3
    • 注释一下,第一段include放在头上,这个没啥可说的,注意,第二个红框指示的代码放的的位置很重要,因为这个代码上面的代码不会被分析的。
    • 在php代码的尾部加入如图4代码
     

    图4

    图4附图:报告链接
    • 注释一下,高亮的是查看性能分析页面的链接,注意你的apache配置,因为我这个例子是把xhprof直接放在了所有的开发站点的相对目录/xhprof_html/下的,如果你的另有花样,这里不写对,那永远也看不到xhprof分析的页面。
    • 加好了代码,就是到浏览器里面去直接执行含有xhprof指令的页面啦,执行和正常一样,不过页面的最低部增加了一个报告链接,如图5所示,点击就显示出了xhprof的函数工况报告


    图5
    • 红色的就是性能瓶颈的部分,呵呵,清晰直观,希望大家成功!
    [结论]
    windows下面也可以像linux下面那样调试啦~
  • 相关阅读:
    CodeForces 288A Polo the Penguin and Strings (水题)
    CodeForces 289B Polo the Penguin and Matrix (数学,中位数)
    CodeForces 289A Polo the Penguin and Segments (水题)
    CodeForces 540C Ice Cave (BFS)
    网站后台模板
    雅图CAD
    mbps
    WCF学习-协议绑定
    数据库建表经验总结
    资源位置
  • 原文地址:https://www.cnblogs.com/breg/p/3473391.html
Copyright © 2011-2022 走看看