XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。现在我们来聊聊XHProf在开发环境中如何测试php性能。
以百分之一的概率产生测试数据,尽量不影响正式环境效率。
class XHProf { // private $XHProfPath = 'xhprof/'; private $XHProfPath = '/usr/local/apache/htdocs/xhprof/'; private $applicationName = 'sias_application'; private $sampleSize = 100; private static $enabled = false; public function XHProf_Start() { if (mt_rand(1, $this->sampleSize) == 1) { include_once $this->XHProfPath . 'xhprof_lib/utils/xhprof_lib.php'; include_once $this->XHProfPath . 'xhprof_lib/utils/xhprof_runs.php'; xhprof_enable(XHPROF_FLAGS_NO_BUILTINS + XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); self::$enabled = true; } } public function XHProf_End() { if (self::$enabled) { $XHProfData = xhprof_disable(); $XHProfRuns = new XHProfRuns_Default(); $XHProfRuns->save_run($XHProfData, $this->applicationName); } } }
测试效果:
Overall Summary Total Incl. Wall Time (microsec): 48,162 microsecs Total Incl. CPU (microsecs): 32,994 microsecs Total Incl. MemUse (bytes): 2,773,464 bytes Total Incl. PeakMemUse (bytes): 2,867,664 bytes Number of Function Calls: 749
从以下测试结果看出,耗时最多的居然是连接数据库,所以我们来尽量优化数据库。
本文地址:
转载随意,但请附上文章地址:-)