为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第9天 --性能优化之PHP优化第三章PHP语言级的性能优化(一)

标签:
PHP

课程名称:性能优化之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性能优化项目。


https://img1.sycdn.imooc.com//632084bb0001bad413210598.jpg




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消