探索PHP7(一)--性能
前言
在2015年12月2号,鸟哥的在开源中国发布的新闻写在 PHP 7 发布之际一些话,小编意识到从8月份发布第一个公测版到现在经过了将近4个月的等待PHP7正式版本终于发布了,所以果断装上了一个玩玩,确实和之前所说的一样提升很大,进过了几天的测试,所以写下这篇博文希望能和大家有一个共同的了解.
注:已经有很多新闻博客分享了关于PHP7的一些讯息,我希望通过一名普通程序员的角度来看待它对我们带来的价值.
附上:
鸟哥:写在 PHP 7 发布之际一些话:http://www.oschina.net/news/68607/php-7-laruence-feeling
PHP官方地址:http://www.php.net/
1. 简单粗暴的测试
那么问题来了PHP7发布的最大的亮点是什么?
无疑是它带了了相当可观的性能提升,我们先从几个长使用的框架下手看看5.6和7之间的差距有多少,然后我们在通过具体的测试来对不同的操作具体产生了多大的影响
配置信息:服务器为:2核心2G(Centos6.5),LoadRunner压力机为4核4G,ab压力机为2核2G
PHP版本信息:PHP 5.6.14 (cli) 和 PHP 7.0.0 (cli) 均开启opcache
在这里对于小编几个常用的框架(PhalApi,ThinkPHP,wordpress)针对不同的环境进行压力测试(本来有意向对C框架进行测试,可惜Phalcon并没有支持PHP7,等支持后后继补上)
1.1 ab测试
1.2 LoadRunner测试
1.3 结论
我们能从ab测试中看出PHP7对wordpress的提升已经超过了2倍以上,对PhalApi和ThinkPHP这两个框架都是达到了最少3/1 的提升,但是从LoadRunner的测试结果中小编感到有些奇怪,wordpress和ThinkPHP居然没有什么提升,但是wordpress在PHP7中稳定性明显高于PHP5.6,PhalApi和ab测试中保持了一致的结果,而且在PHP7测试中,压力服务器达到了瓶颈,也就是说实际值是大于压力值的.
2. 稳定性测试
通过了简单粗暴的性能测试之后,我们很明显的看的出来性能的提升还是非常显著,但是在我们替换掉生产环境之前还面临这一个问题那就是稳定性,这里采用LoadRunner对正常的业务(使用PhalApi框架)进行了12小时的压力对比测试(基于PhalApi中的正常业务),结果如下:
php5.6
php7
从12小时压力测试曲线图可以看出,php7的稳定性依然强劲,并且在细节上稍微超越了PHP5.6
3. 总结
进过了上面的这么多数据分析,相信大家对PHP7的性能有了一个大致的体会,这次的测试只是对于纯框架来说,在真正的业务场景下小编对生产环境的项目根据场景不动提升在3/2到3/4不等,小编只能说赶快上上上,还在为php性能苦恼的童鞋赶快来试试PHP7吧,在本章之后还会对PHP7具体提升在那里和新特性解读继续深入,喜欢的童鞋希望你能关注!
鸣谢:@鸟哥,@PHP7开发组成员,为我们带来这次重大的更新,我相信PHP在今后的路上会越走越远