PHP性能优化

一.PHP语言级性能优化
1.优化点:少写代码,多用PHP自身能力
1.好方法:多用PHP内置变量,常量,函数
2.shuffle() 函数把数组中的元素按随机顺序重新排列
3.array_merge() 函数把一个或多个数组合并为一个数组。
  提示:您可以向函数输入一个或者多个数组。
  注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。






2.优化点:PHP内置函数的性能优劣


1.好的建议:多去了解PHP内置函数的时间复杂度
2.array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。




3.优化点:尽可能减少使用魔法函数
4.优化点:禁用错误抑制符@
5.优化点:合理使用内存
好的建议:
1.利用unset()及时释放不使用的内存(注:unset出现注销不掉的情况)
6.优化点:尽量少用正则表达式
好的建议:
1.利用字符串函数,实现相同逻辑


7.优化点:避免在循环内进行计算
循环内的计算式会被重复计算


$str="hello world";
for(var i=0;i<strlen($str);i++){
//do something
}


每次循环时都会计算strlen的长度,增加了时间


好的建议:将计算的长度放在循环之外


$str="hello world";
$strlen=strlen($str);
for(var i=;i<$strlen;i++){
//dosomething
}
8.减少计算密集型业务
9.务必使用带引号字符串作键值
情况描述:PHP会将没有带引号的键值当做常量,产生查找常量的开销


好的建议:严格使用带引号的值


二.PHP周边性能优化

1.减少文件类的操作
2.优化网络请求
a)设置超时时间
1.连接超时 200ms
2.读超时   800ms
3.写超时   500ms


b)将串行请求并行化
1.使用curl_multi_*()
2.使用swoole扩展


3.压缩PHP接口输出----使用Gzip
4.PHP缓存复用
5.重叠时间窗口

posted @ 2017-10-18 19:58  逗比煎饼侠  阅读(161)  评论(0编辑  收藏  举报