当前位置:首页 > PHP教程 > php高级应用 > 列表

使用xhprof在开发环境中测试php性能

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 15:48:42 浏览: 评论:0 

XHProf是一个分层PHP性能分析工具,它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况,现在我们来聊聊XHProf在开发环境中如何测试php性能.

以百分之一的概率产生测试数据,尽量不影响正式环境效率,代码如下:

  1. class XHProf { 
  2.  
  3.     // private $XHProfPath = ‘xhprof/’; 
  4.     private $XHProfPath = ‘/usr/local/apache/htdocs/xhprof/’; 
  5.     private $applicationName = ‘sias_application’; 
  6.     private $sampleSize = 100; 
  7.     private static $enabled = false; 
  8.  
  9.     public function XHProf_Start() { 
  10.         if (mt_rand(1, $this->sampleSize) == 1) { 
  11.             include_once $this->XHProfPath . ‘xhprof_lib/utils/xhprof_lib.php’; 
  12.             include_once $this->XHProfPath . ‘xhprof_lib/utils/xhprof_runs.php’; 
  13.             xhprof_enable(XHPROF_FLAGS_NO_BUILTINS + XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 
  14.  
  15.             self::$enabled = true; 
  16.         } //开源软件:phpfensi.com 
  17.     } 
  18.  
  19.     public function XHProf_End() { 
  20.         if (self::$enabled) { 
  21.             $XHProfData = xhprof_disable(); 
  22.  
  23.             $XHProfRuns = new XHProfRuns_Default(); 
  24.             $XHProfRuns->save_run($XHProfData$this->applicationName); 
  25.         } 
  26.     } 
  27.  

测试效果:

  1. Overall Summary      
  2. Total Incl. Wall Time (microsec): 48,162 microsecs 
  3. Total Incl. CPU (microsecs): 32,994 microsecs 
  4. Total Incl. MemUse (bytes): 2,773,464 bytes 
  5. Total Incl. PeakMemUse (bytes): 2,867,664 bytes 
  6. Number of Function Calls: 749 

从以下测试结果看出,耗时最多的居然是连接数据库,所以我们来尽量优化数据库.

Tags: xhprof环境 php性能

分享到: