PHP性能优化

PHP性能优化首先分为三个方向
PHP语言级别的性能优化->PHP周边问题的性能优化->PHP自身优化

一.PHP语言级别的性能优化
1.多使用PHP 的内置函数
2.少使用错误抑制符@
会产生额外的opcode开销 (opcode:当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode) )
错误抑制符的原理 是在@抑制符之前增加error reporting设置忽略 在之后设置回复
3.正确的使用正则表达式
正则表达式的回溯开销 如果不是高手 那么就老老实实使用字符串函数吧。
4.利用unset及时释放不用的内存
5.避免在循环内做运算
6.减少计算密集型业务
比如大批量的数据分析场景,毕竟php的运算 处理流程 需要转换成C语言
php更适合做衔接Webserver与后端服务(作为一个纽带使用),UI呈现
7.务必使用带引号字符串做键值(会浪费去常亮查找的操作)

二.PHP周边问题
周边有包括
硬件:linux 运行环境 硬盘(文件存储) 网络 内存
软件:数据库, 缓存(memeche,redis)–属于内存范畴
他们的性能都会影响项目性能

优化:
1.减少文件类操作
常见php场景的开销次序:
读写内存 << 读写数据库 < 读写磁盘 < 读写网络数据

2.优化网络请求
1) 设置超时时间:a>连接超时:200ms,b>读超时:800ms,c>写超时:500ms。
2.)串行请求并行化,curl_multi_*(), swoole扩展。

3.压缩PHP接口输出:
使用Gzip压缩
利:有利于client端更快接收数据;
弊:额外的cpu开销
Gzip 压缩接口输出. 当数据>100k,效果会好。
Swoole 扩展,实现并行。

4.合理利用缓存
当多次请求 内容不变的时候 使用缓存(通常使用在模板缓解里)

5.时间窗口复用思想 同思想 旁路方案
串行改成并行(任务与任务之间不强制依赖,后一个任务不强依赖前一个任务时才可以)

三.PHP性能优化工具
XHPorf : facebook的PHP性能分析工具 可以定位项目中耗时较高的函数
apache自带的ab做压力测试
vld 做opcode代码分析

四.性能瓶颈
Opcode cache:对Opcode做缓存 ->PHP扩展APC
扩展实现:通过PHP扩展代替代码中的高频率逻辑
Runtime优化:HHVM

php扩展站点pecl.php.net

文章总结于
慕课网
性能优化之PHP优化

你可能感兴趣的:(PHP面试,php)