探索PHP7(一)--性能

探索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. wordpress

    php5.6

    php7

  1. ThinkPHP

    php5.6

    php7

  2. PhalApi

    php5.6

    php7

1.2 LoadRunner测试

  1. wordpress

    php5.6

    php7

  1. ThinkPHP

    php5.6

    php7

  2. PhalApi

    php5.6

    php7(压力服务器瓶颈CPU占用满)

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在今后的路上会越走越远

时间: 2024-08-03 16:13:13

探索PHP7(一)--性能的相关文章

PHP7.2、PHP7.1 性能对比

原文地址:https://mengkang.net/1019.html PHP7.2 更新内容https://github.com/php/php-src/blob/php-7.2.0RC3/UPGRADING 从官方给的文档中,我似乎没有看到关于整体性能方面的修改. 鸟哥点评 PHP7.2 相对于 PHP7.1 主要优化也是在 opcache . 服务器配置 2核 Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz 内存 4G 系统 Centos 6.2 gcc

WordPress.com 已升级到 PHP7,性能显著提升

据了解,目前 WordPress.com 已经全部升级到 PHP 7,性能显著提升. 如下所示,CPU.latency(延迟)有了大幅度的提升与改进. WordPress是一种使用 PHP 语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网志.也可以把 WordPress 当作一个内容管理系统(CMS)来使用.WordPress 是一个免费的开源项目,在GNU通用公共许可证下授权发布. WordPress 被认为是Michel Valdrighi所开发的网志平台b

PHP7 RC7 Release对比PHP5.6快速排序20000数据性能体验以及新语法尝鲜

最近Zend的PHP7已经 处于最后的BUG修复阶段,目前 已经更新RC7,对于Zend官方的说法PHP7的性能大约相比PHP5系列版本 提高2倍以上,增加了一些新的语法,摒弃了PHP5的一些影响性能的因素,主要增加了以下Features . Improved performance: PHP 7 is up to twice as fast as PHP 5.6 性能比5.6提高2倍 Consistent 64-bit support 64位一致性支持Many fatal errors are

PHP7革新与性能优化

有幸参与2015年的PHP技术峰会(PHPCON),听了鸟哥(惠新宸)的关于PHP7的新特性和性能优化的分享,一切都令人感 到激动.鸟哥是国内最权威的PHP专家,他的分享有很多非常有价值的东西,我通过整理分享的PPT和收集相关资料,整理为这篇解读性质的技术文章,希望能 给做PHP开发的同学一些帮助. PHP已经走过了20年的历史,直到今天,PHP7都发布了RC版,据说,PHP7正式版应该会在2015年11月份左右发布.PHP7对于上一个系列的PHP5.*,可以说是一个大规模的革新,尤其是在性能方

【第二届PHP全球开发者大会】惠新宸(鸟哥):PHP7性能之源

5月14-15日的第二届2016PHP全球开发者大会在北京国际会议中心举行.国内最有影响力的PHP技术专家.新浪微博任平台及数据部总架构师兼首席PHP顾问惠新宸("鸟哥")做了题为<PHP7性能之源>演讲,通过与PHP5中的检查机制.JIT编译器.WP等相对比,详解PHP7的性能提升的奥秘. 演讲内容结构: PHP7 性能简介 JIT编译器 PHP5与PHP7 的WORDPRESS对比分析 内存分析 检查机制 剖析WP PHP7中新的机制  PHP7 下一步提升 关键内容:

使用Huagepage和PGO来提升PHP7的执行性能_php技巧

HugepagePHP7刚刚发布了RC4, 包含一些bug修复和一个我们最新的性能提升成果, 那就是"HugePageFy PHP TEXT segment", 通过启用这个特性,PHP7会把自身的TEXT段(执行体)"挪"到Huagepage上,之前的测试,我们能稳定的在Wordpress上看到2%~3%的QPS提升. 关于Hugepage是啥,简单的说下就是默认的内存是以4KB分页的,而虚拟地址和内存地址是需要转换的, 而这个转换是要查表的,CPU为了加速这个查

PHP swoole 和 nodeJs性能分析

js出了个nodejs,我们技术老大前段时间发了个技术邮件说php支持多线程,异步,非阻塞 还打着旗号说要灭掉nodejs,官方网站上说swoole的性能已经最少也和nodejs可以媲美了,这个需要用数据说话,周末的时候有空就顺手测试了一下这两个东东!下面是测试报告哈. 首先我用127.0.0.1:8000端口测试swoole, 用127.0.0.1:1337测试nodejs 有图有真相:(稍后传,不会用mac把截图保存!汗!各位看客有谁会的教教我哈!编程都变傻了) 测试环境: 处理器:2.7G

迁移PHP版本到PHP7

这篇文章主要介绍了迁移PHP版本到PHP7的方法,需要的朋友可以参考下 今天看到微博上说phpng也就是php7合并到master上了,大家都知道我是比较喜欢探讨最新版本的东西,看看有什么特性,我就忍不住升级去了,以前我的PHP版本是5.5.19,然后我就开始了. 代码如下: yum install git git clone https://github.com/php/php-src.git 然后编译配置参数,我的博客服务器是腾讯云服务器,因为是博客配置比较低.如下: 代码如下: 单核 In

PHP内核探索之PHP中的哈希表

在PHP内核中,其中一个很重要的数据结构就是HashTable.我们常用的数组,在内核中就是用HashTable来实现.那么,PHP的HashTable是怎么实现的呢?最近在看HashTable的数据结构,但是算法书籍里面没有具体的实现算法,刚好最近也在阅读PHP的源码,于是参考PHP的HashTable的实现,自己实现了一个简易版的HashTable,总结了一些心得,下面给大家分享一下. 笔者github上有一个简易版的HashTable的实现:HashTable实现 另外,我在github有