首页 > 开发 > PHP > 正文

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

2024-05-04 21:49:38
字体:
来源:转载
供稿:网友

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.         } //开源软件:Vevb.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 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表