PHP 7安装体验性能大幅提升 兼容性强 扩展支持不足(升级PHP时要小心)
随着PHP 7的发布,PHP 7的性能和兼容性成为近几天讨论的热点。PHP 7的高性能让很多人跃跃欲试,一些“早期采用者”已经将PHP 7应用到生产环境中。与此同时,LNMP等热门应用也及时更新,开始支持PHP 7。
说到PHP的性能问题,我们不得不说之前分享的HHVM是脸书为了提高PHP性能而开发的一个工具,它使用了Just-In-Time (JIT)编译,将PHP代码转换成一些字节码。在实际测试过程中,HHVM对PHP性能的提升是一个质的飞跃,高效的PHP运行环境使PHP的性能提升了9倍以上。
近年来,PHP因其性能瓶颈而受到广泛批评。很多开发人员已经放弃了PHP,HHVM的完美表现对PHP的发展非常不利。PHP 7是PHP社区对HHVM的回应。PHP 7的正式发布大大提升了PHP的性能。实际测试表明,PHP 7在某些场合的性能超过了HHVM。
本文将为您带来安装和使用PHP 7的体验。迫切想体验PHP 7性能的朋友,在正式升级PHP之前,应该先做几个程序兼容性测试。虽然官方说PHP 7有99%的向后兼容性,但为了安全起见,我们在将其应用到生产环境时还是需要谨慎。
PHP 7安装体验:性能大幅提升,兼容性强,扩展支持不足。小心升级PHP
首先,发挥PHP 7高性能的几个关键点
相比之前的PHP版本,PHP7在性能上有了质的飞跃,但所谓“好马配好鞍,好车配好帆”,要想充分发挥PHP 7的性能优势,需要从以下几个方面做好准备:(此部分引自PHP 7核心开发者,Yaf、Yar、Yac等项目作者:Laruence)。
1.记得启用Zend Opcache。启用Opcache非常简单。在php.ini配置文件中添加:
Zend _ extension=op cache . soopcache . enable=1 opcache . enable _ CLI=1 ' 2。使用新的编译器,建议使用GCC 4.8或更高版本,因为只有GCC 4.8或更高版本的PHP 7才会启用op line的全局寄存器和execute _ data支持,这将带来大约5%的性能提升。
3.打开HugePage对PHP 7是有利的。首先在系统中打开大页面,然后打开Opcache的大页面。以CentOS 6.5为例,通过命令:$sudo sysctl vm.nr_hugepages=512,分配512个预留的:的大页内存。
$ cat/proc/meminfo | grep hugeaneonhugepages 3360 106496 kBHugePages _ total : 512 hugepages _ free : 504 hugepages _ rsvd : 27 hugepages _ surp : 0 0 hugepagesize : 2048 KB然后添加: opcache。hug _ code _ pages=1到php.ini,所以php会在内存分配中保存自己的文本段和hug,内存页大,减少TLB错过,提高性能。
4.打开Opcache文件缓存(实验性)。通过打开这个,Opcache可以将操作码缓存缓存到外部文件,这将明显提高一些脚本的性能。方法是在php.ini中添加:opcache.file_cache=/tmp这样,php会在/tmp目录中缓存一些Opcode的二进制导出文件,这些文件可以跨PHP生命周期存在。
5.PGO .如果你的PHP专用于一个项目,比如Wordpress、drupal或者其他任何东西,那么你可以尝试通过PGO来改进PHP,提高项目的性能。具体来说,以wordpress 4.1为优化场景.首先,编译PHP时使用了33,360美元的makeprof-gen。
6.然后用你的项目训练PHP,比如wordpress : $ SAPI/CGI/php-cgi-T 100/home/陈辉新/local/www/htdocs/WordPress/index . PHP/dev/null,也就是让PHP-CGI运行WordPress的主页100次,在这个过程中生成一些简介信息最后:
$ make prof-clean $ make prof-use make install 7。您此时编译的PHP7是为您的项目定制的最高性能编译版本。
二、PHP 7的安装和编译
1.PHP 7官方网站:
1.官方网站:http://php.net/
2.下载:http://php.net/downloads.php或本网站下载地址:点击下载
2.动手能力强的朋友可以直接从官网下载PHP 7,然后手动编辑安装。如果你习惯使用lnmp.org站长的LNMP一键式安装包,可以尝试发布LNMP 1.3测试版,并增加了php7支持:网站平滑迁移到LNMP或LAMP网站搭建环境的方法。
3.OneinStack提供的LNMP安装包已经安装了PHP 7。执行脚本时,可以选择PHP 7安装。目前PHP 7只能用官方的Zend Opcache扩展安装。
4.OneinStack成功安装了PHP 7。
5.这是PHP 7的信息显示。
6.这是OneinStack提供的PHP 7的Opcache控制面板。
第三,PHP 7与老版本PHP和HHVM的性能比较
1.这是国外开发者在Wordpress、Drupal等热门程序下测试的PHP 7和PHP 5.6的性能,很明显PHP 7的性能提升了不少。
2.PHP 7不仅提高了Wordpress和其他程序的单次执行速度,而且随着Wordpress在PHP 7中运行时间的延长,性能也有所提高。
3.上面也提到了PHP 7在某些方面提升了超越HHVM的PHP性能,这是zend.com官网给出的PHP 5.6、PHP 7和HHVM在不同程序下执行效率的对比结果。
4.在专业开源电商系统Magento上测试PHP 5.6、PHP 7和HHVM的执行效率。PHP 7的运行速度是PHP 5.6的两倍,内存消耗比PHP 5.6低30%。
5.在Drupal 8上测试PHP 7的效率最快,已经超过了HHVM。
6.Wordpress测试发现,PHP 5.6需要占用100MB内存,而PHP 7只需要25MB。
7.PHP 7在不同的程序执行速度上已经明显领先,Ruby 2.1、Python 2.7.8、Perl 5.18.4都不如PHP 7。
四.PHP 7性能测试结果报告
1.PHP 7运行程序的性能如何?这里的部落以一台全新的Wordpress为测试对象,在PHP 7上运行的Wordpress主页加载时间显示为0.029秒,内存为3.39MB。
2.这是同一个Wordpress页面。PHP 5.6上的页面加载时间为1.955秒,内存占用3.92MB,从数据来看,PHP 7已经战胜了PHP 5.6。
3.与之前的版本相比,PHP 7运行Wordpress的效率有了质的提升。为了全面了解PHP 7的性能,按照Web服务器压力Web性能测试的方法,使用Webbench在10秒内模拟200和400个连接,速度超过8000页/分钟。
4.此时VPS服务器的系统负载为3.49。
5.将模拟连接数增加到1600,速度保持在8000页/分钟以上。
6.此时VPS服务器的系统负载是17,应该有点困难。
7.模拟连接数增加到5000,速度为4800页/分钟,速度开始变慢。
8.此时VPS服务器的系统负载为23,服务器过载。
9.为了测试PHP 7在这个VPS主机中的承载能力极限,Webbench模拟了10000个连接在20秒内连续访问服务器。
10.此时VPS服务器的系统负载接近90,应该已经达到极限,但是服务器还是没有崩溃。
11.接下来,让我们看看Wordpress在相同配置的VPS主机上运行的压力测试结果。首先,我们使用Webbench在10秒内模拟200和400个连接,速度为3600页/分钟,比上面的PHP 7测试慢了一半。
12.这是PHP 5.6测试的200和400连接的系统负载,已经达到10,明显超过PHP 7测试的3.49。
13.在PHP 5.6测试中,模拟连接数已经增加到了1000和2000,此时速度已经下降到了1600页/分钟,而成功连接的数量也下降到了500个左右,远低于PHP 7测试中的2700个。
14.此时,系统负载达到17。
15.使用PHP 5.6中的Webbench测试连接数为10000,在20秒内连续访问服务器。此时,测试被卡住,没有结果。
16.这里的VPS服务器系统负载已经达到1000以上,服务器已经崩溃。
17.PHP 5.6下的Wordpress网站已经宕机。
动词(verb的缩写)PHP 7兼容性问题
1.目前国内Discuz不支持PHP 7,只能使用官方的Opcache进行PHP扩展。其他,如eAccelerator、xcache、memcached等。您可以随时关注扩展支持列表:php的https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog. Memcache扩展已经存在:https://github.com/php-memcached-dev/php-memcached/tree/php7和https://github.com/websupport-sk/pecl-memcache.感谢快乐大本营博主的提醒。
2.经过测试,PHP 7运行Wordpress没有任何问题。
3.在PHP 7上安装Wordpress插件没有问题。
4.PHP 7中的一些函数和运算符可能不兼容,但99%的程序可能不会使用它们。
六、PHP 7安装经验总结
1.使用PHP 7后的一个惊喜是,经国外开发者测试,PHP 7的性能基本与HHVM持平。由于HHVM通过Just In Time编译器将PHP代码编译成机器指令,所以很多PHP程序在HHVM运行时需要改进。
2.PHP 7拥有HHVM的超高性能和PHP向后兼容的优势。相信在不久的将来PHP 7会被越来越多的人认可和接受。虽然支持PHP 7的扩展不多,比如缓存、加速等,但只是时间问题,会有越来越多的开发者加入到PHP 7的开发中来。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:PHP 7安装体验性能大幅提升 兼容性强 扩展支持不足(升级PHP时要小心)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。