<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[XHProf-php轻量级的性能分析工具]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Wed, 07 Nov 2012 09:59:55 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	以前在开发环境用的是xdebug，还不错，看到有一篇野马分享的《PHP性能检测扩展——XHProf》，不错，之前就有听说，这次就行动一下。<br/><br/>XHProf是facebook开源出来的一个php轻量级的性能分析工具，跟Xdebug类似，但性能开销更低，还可以用在生产环境中，也可以由程序开 关来控制是否进行profile。<br/><br/>以下是记录和总结：<br/><br/>安装xhprof：<br/>wget http://pecl.php.net/get/xhprof-0.9.2.tgz<br/>tar zxf xhprof-0.9.2.tgz<br/>cd xhprof-0.9.2<br/>cp -r xhprof_html xhprof_lib /www/www.hx.com/xhprof/<br/>cd extension/<br/>/usr/local/webserver/php/bin/phpize<br/>./configure&nbsp;&nbsp;–with-php-config=/usr/local/webserver/php/bin/php-config<br/>make &amp;&amp; make install<br/><br/>安装完提示：<br/>Installing shared extensions:&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/<br/><br/>php.ini中添加<br/>extension_dir = &quot;/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/&quot;<br/>这句我原来就有了，就这用添加下面两句<br/>extension=xhprof.so<br/>xhprof.output_dir=/www/logs/xhprof<br/><br/>分析日志输出在/www/logs/xhprof目录。<br/><br/><br/>重新加载php配置文件和重启web<br/>/usr/local/webserver/php/sbin/php-fpm reload<br/>/usr/local/webserver/nginx/sbin/nginx -s reload<br/><br/>刷新phpinfo页面，看到输出中有了xhprof信息。<br/>xhprof&nbsp;&nbsp;0.9.2<br/>CPU num&nbsp;&nbsp;2<br/><br/>安装graphviz，一个画图工具<br/>wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz<br/>tar zxf graphviz-2.24.0.tar.gz<br/>cd graphviz-2.24.0<br/>./configure<br/>make &amp;&amp; make install<br/><br/><br/>程序试例<br/>头部：<br/>xhprof_enable(); <br/>//xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数<br/>//xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);&nbsp;&nbsp;同时分析CPU和Mem的开销<br/>$xhprof_on = true;<br/><br/>我觉得用xhprof_enable();就够用了，只统计运行时间(Wall Time)。<br/><br/>生产环境可使用：<br/>if (mt_rand(1, 10000) == 1) &#123;<br/>&nbsp;&nbsp; xhprof_enable();<br/>&nbsp;&nbsp; $xhprof_on = true;<br/>&#125;<br/><br/><br/>尾部：<br/>if($xhprof_on)&#123;<br/>$xhprof_data = xhprof_disable();<br/>$xhprof_root = &#039;/www/www.hx.com/xhprof/&#039;;<br/>include_once $xhprof_root.&quot;xhprof_lib/utils/xhprof_lib.php&quot;; <br/>include_once $xhprof_root.&quot;xhprof_lib/utils/xhprof_runs.php&quot;; <br/>$xhprof_runs = new XHProfRuns_Default(); <br/>$run_id = $xhprof_runs-&gt;save_run($xhprof_data, &quot;hx&quot;);<br/>echo &#039;&lt;a href=&quot;http://192.168.1.158:858/xhprof/xhprof_html/index.php?run=&#039;.$run_id.&#039;&amp;source=hx&quot; target=&quot;_blank&quot;&gt;统计&lt;/a&gt;&#039;;<br/>&#125;<br/><br/>运行程序，底部出现统计字样，点过去就可以看到性能分析了。按运行时间排序，很容易找出化时间最长的函数。<br/>点[View Full Callgraph]图形化显示，最大的性能问题会用红色标出，其次是黄色，很明显。
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] XHProf-php轻量级的性能分析工具]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>