一.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.重叠时间窗口