项目在不断的运行维护中往往会出现越来越慢的现象,这个时候就需要我们分析检测当前项目瓶颈在什么地方。
首先先介绍一下最基础的,检测php脚本运行时长:
其实方法很多,先说几个函数:
1、microtime(): 返回当前 Unix 时间戳和微秒数 具体描述看手册
2、gettimeofday(): 取得当前时间 具体描述看手册
下面以gettimeofday()为例写个demo:
// 位于入口处获取脚本执行开始时间
$startTime = gettimeofday();
//暂停 2 秒 这里应该是脚本主体内容
sleep(2);
// 项目执行底部获取结束时间
$endTime = gettimeofday();
// 获取时差,即脚本执行时间
$diffTime = ($endTime['sec'] - $startTime['sec'])*1000000 + $endTime['usec'] - $startTime['usec'];
echo "脚本执行时差为:" . $diffTime . "微秒.";
这是计算脚本执行时长,当我们在项目开发中我们可以在基类放置开始时间,然后再封装一计算时差方法,主体方法执行完后可计算出每个方法执行时间,具体定位当前瓶颈进行优化。