首页 » 网站推广 » phpcpu主频技巧_进级PHP7带来的变革

phpcpu主频技巧_进级PHP7带来的变革

duote123 2024-11-29 0

扫一扫用手机浏览

文章目录 [+]

最近女主在QCon2017的会议上听到一句话:“在决定做一件事情之前,先不要考虑它的困难有多难,要先想想收益明显不明显,如果明显那就战胜统统困难把它搞定”。
多么勉励民气有木有~ 在是否升级PHP7的问题上,花椒技能团队和addops团队也是进行了一番“苦战”,末了终于在2016年11月完成升级。
本日就为大家分享一篇PHP7的升级进程,希望能够帮助有同样升级想法的GG们。

PS:丰富的一线技能、多元化的表现形式,尽在“ HULK一线技能杂谈 ”,点关注哦!

phpcpu主频技巧_进级PHP7带来的变革

背景

phpcpu主频技巧_进级PHP7带来的变革
(图片来自网络侵删)

在升级PHP7前花椒做事真个代码基本全部采取PHP 5. 编写。
可是当碰着高并发的场景时,比如去年奥运期间的张继科直播,瞬间百万粉丝涌入直播间,做事器负载爆表、PHP实行行列步队堆积严重,CPU被吃光,短韶光内只能靠扩容来抗住高并发。
考虑到如果利用别的措辞进行重构的话周期会比较长,跟不上产品快速迭代的速率。
于是便考虑到升级PHP7,由于官方给出PHP7的性能是一次里程碑的变革。

在衡量了一下利弊后得出如下结论,创造收益还是大于困难的。

困难:

1.php7的小版本更新频率高(2016年险些每个月都有一个升级),是否稳定有待考证。

2.新版本在高并发的线上环境、或者某些分外场景下是否有bug,有待考证。

3.业务依赖的扩展组件繁多,如果版本不稳定,对RPM包的管理和掩护事情会造成很多困难。

4.线上环境的大版本更新,难以做到快速无缝迁移,有一定的运维难度。

5.公司各各产品线无大规模PHP7的生产环境,名副实在的“第一个吃螃蟹的人”。

收益:

1.官方提示性能比较PHP5.有很大提高,这样就能更好的支持高并发场景。

2.性能提升后,从运维角度看可以节省很多做事器资源从而降落本钱。

3.对新技能激情亲切飞腾,技能职员造诣感爆棚。

1

压测报告

鸟哥(官方)测试:

鸟哥-惠新宸分享的PHP7性能报告,方便大家参考。

WordPress的QPS压测:

在WordPress项目中,PHP7比拟PHP5.6,QPS提升2.77倍!

Benchmark比拟:

处理时长耗时从2.991低落到1.186,大幅度低落60%!

花椒技能团队的基准测试

解释:直接输出 “hello world”

KVM虚拟机做事器配置: cpu 4核、内存 8G

系统关键参数: net.ipv4.tcp_max_tw_buckets = 20000

结果:

结论:

php5.3的系统资源占用依旧比 php7高。
但是处理的内容少的时候,差距不是非常大;

并发上去之后,php7利用占用率明显减少,php5.3资源占用率是php7的2倍;

两个版本php均涌现了相应缺点的情形(连接超时),网络涌现瓶颈;

php7的tps高于php5.3 16%到22%

花椒技能团队PHP7框架测试

解释:程序包含QFrame框架,输出一段大略的json

KVM虚拟机做事器配置: cpu 4核、内存 8G

系统关键参数: net.ipv4.tcp_max_tw_buckets = 20000

结果:

结论:

从只压框架角度看,PHP5.3依旧占用非常多的系统资源,idel依旧为0;

PHP7在1000并发下,系统即将到达瓶颈。
但此时依旧可以正常处理绝大部分要求;

PHP7的tps最少是5.3的5倍;

花椒技能团队PHP7资源要求测试

解释:包含一次、两次、三次redis要求,一次redis、一次 mysql,两次redis、一次mysql等测试场景

物理机做事器配置: cpu 24核、内存 64G

系统关键参数: net.ipv4.tcp_max_tw_buckets = 20000

结果:

结论:

纯挚 Redis要求时,PHP7是 PHP5.3的 3倍以上;

包含 Mysql要求时,PHP7是 PHP5.3的 2倍以上;

2

升级PHP7过程

灰度上线升级:支配PHP7新集群,灰度解析到新集群。

解释:根据用户群体的分布进行灰度解析,将一些用户较少的省市解析到PHP7新环境,用户主体依然解析到PHP5.老环境,不雅观察一段韶光后(1~2周)根据结果进行相应调度。
如没问题,便可大规模解析到PHP7环境。

举例:如上图所示为用户群体分布图,可先将青海、甘肃、云南等地用户通过DNS地域解析到PHP7环境的集群,方便随时不雅观察和调度。
如无问题可再将江苏、江西、广东、北京等地解析到PHP7集群。

3

升级后的性能比拟

拿一个真实业务升级PHP7后的CPU性能变革图作为参考:

结果:

在4.6号完成升级后,CPU的资源利用有将近30%的提升,符合测试结果预期。
如果按照1万RMB一台做事器打算,10台机器的集群能节省3万RMB,100台机器的集群能节省30万RMB。
10000台便是3000万啊!

来源:程序师

转载链接:http://www.techug.com/post/upgrade-to-php7.html

标签:

相关文章

php常量率低技巧_PHP 常量详解教程

PHP 常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。注释...

网站推广 2024-12-19 阅读0 评论0