课程名称:性能优化之PHP优化
课程章节:PHP语言级的性能优化(一)
讲师:Pangee
https://www.imooc.com/video/4168
课程内容:
php性能问题是涵盖运行速度,运行内存、程序健壮性等问题的综合性问题,网站性能是应对高
压环境的前提。
什么情况下,遇到PHP性能问题?
可能1:PHP语法使用的不恰当
可能2:使用PHP语言做了它不擅长做的事
可能3:用PHP语言连接的服务不给力
可能4:PHP自身的短板
可能5:我也不知道的事
优化点:PHP内置函数的性能优劣
情况描述:PHP内置函数之间依然存在快慢差异
好的意见:多去了解PHP内置函数的时间复杂度
php性能问题解析:
php的性能问题占整个项目性能问题的比例不超过50%;所以在优化项目时,不要局限于仅优化
php.
php性能问题的解决方向:
php语言级优化
php周边的性能优化(数据库,服务器等)
php语言自身分析,优化
优化点:
尽可能少用魔法函数,情况描述:性能不佳
为什么性能低:为了省事,PHP语言为你做了很多
例如:使用了__get() 循环10万 (85ms) 不使用 循环10万 (53ms)
优化点:
产生额外开销的错误抑制符@
描述:在代码开始前、结束后,增加了Opcode,前将报错的等级忽略,后将报错的等级恢复
vld-PHP Opcode查看扩展 主要作用是将opcode的代码演示出来,vld扩展主要的两个参数
列表
-dvld.active 默认为0。代表是否在运行PHP文件是激活vld扩展,
-dvld.execute 默认为1。代表只显示opcode代码,并不是真正执行
Apache Benchmark 简称 ab
压力测试软件
linux:
./ab -n1000 -c100 http://www.baidu.com
-n请求数 -c并发数
windows:
C:\wamp\bin\apache\Apache2.2.11\bin>ab -n 10 -c 10 http://www.google.com/
php代码运行流程:zend引擎逐行扫描.php文件转码解析成自己能识别的格式,再解析成
opcodes(最终执行的机器码),执行,输出.
PHP缓存多使用opcode缓存,可以减少编译解析,提高效率加快速度。
php内置函数会节省扫描转码的时间,生成的opcode体积也会小,执行也快,所以内置函数是
比自己写的代码运行的速度要快的。
课程收获:
不同的php内置函数存在快慢差异,要了解php内置函数的时间复杂度。如isset() 函数比
array_exits_arg()快。php语言需要编译,为c,又为汇编,又为机器,开销大=>多用php的api
,少些代码。通过一些非常有用的性能优化工具,从定位、分析到解决帮助我们更便捷的做PHP性能优化项目。
共同学习,写下你的评论
评论加载中...
作者其他优质文章