Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PHP性能检测扩展——XHProf

2,117 views

Published on

北京地区PHP爱好者2010聚会[12月19日胜利举办,CU、ThinkinginLamp联办],野马主讲《PHP性能检测扩展——XHProf 》,详情见详情goo.gl/xCCxy或goo.gl/j89N9

Published in: Technology
  • hello, do you have also an english version of this presentation?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

PHP性能检测扩展——XHProf

  1. 1. PHP 性能检测扩展—— XHProf <ul><li>野马 </li></ul>
  2. 2. <ul><li>安装 XHProf </li></ul><ul><li>应用实例 </li></ul><ul><li>关于 XHProf </li></ul><ul><li>相关事项 </li></ul>
  3. 3. <ul><li>XHProf 是一个分层 PHP 性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间, CPU 时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销。原始数据收集部分是用纯 C 实现的,是一个名叫 xhprof 的 Zend 扩展 。 </li></ul><ul><li>XHProf 是 facebook 开源出来的一个 php 轻量级的性能分析工具,跟 Xdebug 类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行 profile 。基于浏览器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。在数据收集阶段,它记录调用次 数的追踪和包容性的指标弧在动态 callgraph 的一个程序。它独有的数据计算的报告 / 后处理阶段。在数据收集时, XHProfd 通过检测循环来处理递 归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循环。 XHProf 的轻量级性质和汇聚功能,使得它非常适合用于收集“生产环境”的性能统计数据的统计。 </li></ul><ul><li>关于 XHProf </li></ul>
  4. 4. <ul><li>关于 XHProf </li></ul>
  5. 5. <ul><li>下载: </li></ul><ul><li>xhprof-0.9.2.tgz </li></ul><ul><li>graphviz-2.24.0.tar.gz </li></ul><ul><li>安装 XHProf </li></ul>
  6. 6. <ul><li>别凭空讲了,该实战了!! ~ </li></ul><ul><li>一、下载编译 </li></ul><ul><li>二、配置 PHP.ini </li></ul><ul><li>三、写测试 PHP 文件 </li></ul><ul><li>四、浏览测试报告 </li></ul><ul><li>五、其他功能介绍 </li></ul><ul><li>安装 XHProf </li></ul>
  7. 7. # wget http://pecl.php.net/get/xhprof-0.9.2.tgz # tar zxf xhprof-0.9.2.tgz # cd xhprof-0.9.2 # cp -r xhprof_html xhprof_lib /var/www/www.test.com/ # cd extension/ # /usr/local/php/bin/phpize # ./configure –with-php-config=/usr/local/php/bin/php-config # make && make install <ul><li>安装 XHProf </li></ul>[xhprof] extension=&quot;/usr/local/php/lib/xhprof.so&quot; xhprof.output_dir=/var/www/xhprof
  8. 8. # wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz # tar zxf graphviz-2.24.0.tar.gz # cd graphviz-2.24.0 # ./configure # make && make install <ul><li>安装 Graphviz </li></ul>
  9. 9. <ul><li>应用实例 </li></ul>
  10. 10. <ul><li>应用实例 </li></ul>
  11. 11. <ul><li>标题内容 </li></ul><ul><li>应用实例 </li></ul>
  12. 12. <ul><li>应用实例 </li></ul>
  13. 13. <ul><li>应用实例 </li></ul>
  14. 14. <ul><li>应用实例 </li></ul>
  15. 15. <ul><li>应用实例 </li></ul>
  16. 16. <ul><li>应用实例 </li></ul>屏蔽函数
  17. 17. <ul><li>应用实例 </li></ul>
  18. 18. <ul><li>相关事项 </li></ul>一、数据结构可以根据需要定义存储方式 二、分析界面 PHP 代码可以根据需要重写 三、数据可以进行对比( diff 报告),汇总分析(汇总报告) 四、 CPU 的计时器是粗粒度的,毫秒精度,对性能消耗大,误差大 五、 XHProf 支持采样设置 六、可以在 PHP 上做抽样 if (mt_rand(1, 10000) == 1) { xhprof_enable(XHPROF_FLAGS_MEMORY); $xhprof_on = true; } request 结束时 ( 或是在退出函数中 ) ,您可以这么做: if ($xhprof_on) { // stop profiler $xhprof_data = xhprof_disable(); // save $xhprof_data somewhere (say a central DB) ... }
  19. 19. <ul><li>野马 </li></ul><ul><li>QQ : 46163020 </li></ul><ul><li>Email : [email_address] </li></ul><ul><li>WEB : http://yuenshui.com( 被和谐中 ) </li></ul>

×