你用什么方法检查 PHP 脚本的执行效率(通常是脚本执行时间)和数据库 SQL 的效率(通常是数据库 Query 时间), 并定位和分析脚本执行和数据库查询的瓶颈所在?
2015-07-14 18:49
961 查看
php:
一般是在你要检查的代码开头记录一个时间,结尾记录一个时间。取差值,
数据库SQL的效率
sql的explain(mysql),启用slow query log记录慢查询。
通常还要看数据库设计是否合理,需求是否合理等。
但这个时间一般来说都很快,在一秒以内,所以不能直接用mktime()function getmicrotime(){
list($usec,$sec) = explode(" ",microtime());
$num = ((float)$usec+(float)$sec);
return sprintf("%.4f",$num);
}
用法:
$t_start = getmicrotime();
//这里放你要检查的代码
$t_end = getmicrotime();
echo $t_end - $t_start;
输出的单位是秒,"%.4f"代表精确到小数点后四位,这个可以自行更改
一般是在你要检查的代码开头记录一个时间,结尾记录一个时间。取差值,
数据库SQL的效率
sql的explain(mysql),启用slow query log记录慢查询。
通常还要看数据库设计是否合理,需求是否合理等。
但这个时间一般来说都很快,在一秒以内,所以不能直接用mktime()function getmicrotime(){
list($usec,$sec) = explode(" ",microtime());
$num = ((float)$usec+(float)$sec);
return sprintf("%.4f",$num);
}
用法:
$t_start = getmicrotime();
//这里放你要检查的代码
$t_end = getmicrotime();
echo $t_end - $t_start;
输出的单位是秒,"%.4f"代表精确到小数点后四位,这个可以自行更改
相关文章推荐
- iOS发展系列II - UILabel 使用摘要
- 【设计和开发一套简单自动化UI框架】
- emulator: ERROR: x86 emulation currently requires hardware acceleration!Please ensure Intel HAXM is
- 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
- iOS修改UIButton setTitle字体颜色和调整字体位置
- request.getScheme()
- 快速排序(Quicksort)
- Stack集合、queue集合、hashtable集合
- UINavigationController返回手势失效问题
- How to disable vertical scrolling in UIScrollView (Obj-C)
- 黑马程序员_JAVA之GUI与Socket
- 数码测色计获取UIColor的RGB
- UIViewController 的表现方式
- 手机开机画面制作工具(LogoBuilder)
- 手机开机画面制作工具(LogoBuilder)
- sqlServer 生成UUID方法
- 颜色转换:#hhhfff->UIColor (MHHexColoring)
- MySQL查询报错 ERROR: No query specified
- Druid validationQuery 错误
- BFKit:对常用 UIButton,UIColor,UIDevice,UIFont ,UIImage 等开发类进行了扩展