Heim > php教程 > php手册 > PHP性能分析工具

PHP性能分析工具

WBOY
Freigeben: 2016-06-06 19:57:41
Original
1114 Leute haben es durchsucht

XHProf 是 FaceBook 开发的一个函数级别的 PHP 分层分析器。 数据收集部分是一个基于 C 的 PHP 扩展,分析报告是一系列基于 PHP 的 HTML 导航页面。 XHProf 能统计每个函数的调用次数、内存使用、CPU占用等多项重要的数据。 并且 XHProf 还能比较两个统计样

XHProf 是 FaceBook 开发的一个函数级别的 PHP 分层分析器。

数据收集部分是一个基于 C 的 PHP 扩展,分析报告是一系列基于 PHP 的 HTML 导航页面。

XHProf 能统计每个函数的调用次数、内存使用、CPU占用等多项重要的数据。

并且 XHProf 还能比较两个统计样本,或从多个数据样本中汇总结果。

XHProf 是分析 PHP 程序执行效率的利器,能让我们得到更底层的的分析数据。


编译安装

PHP性能分析工具

<span>wget</span> http:<span>//</span><span>pecl.php.net/get/xhprof-0.9.2.tgz</span>

<span>tar</span> zxf xhprof-<span>0.9</span>.<span>2</span><span>.tgz

cd xhprof</span>-<span>0.9</span>.<span>2</span>/extension/

<span>sudo</span><span> phpize
.</span>/configure --with-php-config=/usr/local/php/bin/php-<span>config
</span><span>sudo</span> <span>make</span>
<span>sudo</span> <span>make</span> <span>install</span>
Nach dem Login kopieren

PHP性能分析工具

配置 php.ini

在php.ini里加入

PHP性能分析工具

<span>[xhprof]
extension</span>=<span>xhprof.so;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) </span><span>for</span><span> storing
; XHProf runs.
;
;xhprof.output_dir</span>=<directory_for_storing_xhprof_runs><span>
xhprof.output_dir</span>=/tmp/xhprof</directory_for_storing_xhprof_runs>
Nach dem Login kopieren

PHP性能分析工具

注:如果是64位系统需要将xhprof.so文件拷贝到相关的lib64的目录下

 

将代码加入到要测试的php当中

PHP性能分析工具

<span> 1</span> <span>pho
</span><span> 2</span> <span>//</span><span> cpu:XHPROF_FLAGS_CPU 内存:XHPROF_FLAGS_MEMORY
</span><span> 3</span> <span>// 如果两个一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY </span>
<span> 4</span> xhprof_enable(XHPROF_FLAGS_CPU +<span> XHPROF_FLAGS_MEMORY);
</span><span> 5</span> 
<span> 6</span> <span>//</span><span> 要测试的php代码</span>
<span> 7</span> 
<span> 8</span> 
<span> 9</span> <span>$data</span> = xhprof_disable();   <span>//</span><span>返回运行数据
</span><span>10</span>  
<span>11</span> <span>// xhprof_lib在下载的包里存在这个目录,记得将目录包含到运行的php代码中</span>
<span>12</span> <span>include_once</span> "xhprof_lib/utils/xhprof_lib.php"<span>;  
</span><span>13</span> <span>include_once</span> "xhprof_lib/utils/xhprof_runs.php"<span>;  
</span><span>14</span>  
<span>15</span> <span>$objXhprofRun</span> = <span>new</span><span> XHProfRuns_Default(); 
</span><span>16</span> 
<span>17</span> <span>//</span><span> 第一个参数j是xhprof_disable()函数返回的运行信息
</span><span>18</span> <span>// 第二个参数是自定义的命名空间字符串(任意字符串),
</span><span>19</span> <span>// 返回运行ID,用这个ID查看相关的运行结果</span>
<span>20</span> <span>$run_id</span> = <span>$objXhprofRun</span>->save_run(<span>$data</span>, "xhprof"<span>);
</span><span>21</span> <span>var_dump</span>(<span>$run_id</span>);
Nach dem Login kopieren

PHP性能分析工具

 

查看运行结果

PHP性能分析工具

将xhprof_lib&&<span>xhprof_html相关目录copy到可以访问到的地址
访问 xxx</span>/xhprof_html/index.php?run=$run_id&source=<span>bluefrog 就可经看到你的php代码运行的相关情况

下面是一些参数说明
Inclusive Time                 包括子函数所有执行时间。
Exclusive Time</span>/<span>Self Time  函数执行本身花费的时间,不包括子树执行时间。
Wall Time                        花去了的时间或挂钟时间。
CPU Time                        用户耗的时间</span>+<span>内核耗的时间
Inclusive CPU                  包括子函数一起所占用的CPU
Exclusive CPU                  函数自身所占用的CPU</span>
Nach dem Login kopieren

PHP性能分析工具

注: 需要使用ctype这个扩展



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage