PHP 7安装使用体验:性能大提升、扩展支持不够、…

PHP 7安装使用体验:性能大提升、扩展支持不够、…,第1张

PHP7安装使用体验:性能大提升、扩展支持不够、…

随着PHP7的发布,PHP7的性能和兼容性成为最近几天讨论的热门话题。PHP7的高性能已经让很多人不耐烦了,一些“暴发户”朋友已经将PHP7应用到自己的工作环境中。此外,LNMP等热门软件程序的进程也立即升级,比赛刚刚开始应用PHP7。

说到PHP的性能问题,不得不承认之前分享的HHVM是脸书开发设计的一个专门提高PHP性能的工具。它使用实时(JIT)编译器方法将PHP代码转换成某种字节码。在整个测试过程中,HHVM对于PHP的性能提升是一个质的飞跃,高效的PHP软件环境将PHP的性能提升了9倍以上。

近几年PHP广受诟病,这是短性能层面的问题。很多开发者竞相弃PHP而逃。HHVM的极端表现对PHP的发展趋势非常不利。PHP7是PHP社区对HHVM的回复。PHP7宣布已发布的版本大大提高了PHP的性能。具体测试发现,PHP7的性能在某些地方超过了HHVM。

这篇文章的内容会给你一个PHP7安装和应用的感觉。如果你迫不及待地想感受PHP7的性能,最好在宣布PHP升级之前多做一些程序进程兼容性测试。虽然官网上说PHP7有99%的向后兼容性,但是为了更好的保险,你在应用到工作环境的时候一定要保持谨慎的态度。

PHP7安装应用体验:性能大幅提升,兼容性强,扩展和应用不足,升级需谨慎

首先,充分发挥PHP7高性能的许多关键点

PHP7与之前的PHP版本号相比,性能有了质的飞跃,但说白了就是“好饭不嫌晚,高档车配帆”。为了充分发挥PHP7的性能优势,必须从以下几个方面做好准备:(此部分摘自PHP7的关键开发者,YAF、YAR、YAC:Laruence等新项目的创造者)。

1.记得打开ZendOpcache。打开Opcache相对简单。添加:

zend_extension=opcache.soopcache.enable=1opcache.enable_cli=1"

2.应用新的C语言编译器,强烈推荐GCC4.8以上。由于只有GCC4.8以上的PHP7才会为op行打开全局寄存器,为application打开execute_data,这样会带来5%左右的性能提升。

3.打开HugePages有利于PHP7的快速性。首先在系统软件中打开HugePages,然后打开Opcache的HugePages。以CentOS6.5为例,按照指令:$sudosysctlvm.nr_hugepages=512,分配512个嵌入式大页运行内存:

$cat/proc/meminfo|grepHugeAnonHugePages:106496kBHugePages_Total:512HugePages_Free:504HugePages_Rsvd:27HugePages_Surp:0Hugepagesize:2048kB

然后加上:opcache。php.ini中的hug_code_pages=1通过这种方式,php将使用较大的运行内存页,在其内存分配中存储自己的文本段和hug,从而减少TLB缺失,提高性能。

4.打开Opcache文件缓存(实验)。据此,Opcache可以将 *** 作码缓存文件缓存到外部文档中。对于某些脚本,将会有显著的性能改进。方法是在php.ini中添加:opcache.file_cache=/tmp然后php会在/tmp文件目录中缓存一些Opcode的二进制导出文档,这些文档可以存在于PHP的整个生命周期中。

5.PGO.如果你的PHP是一个新项目的专业服务项目,比如说,只是针对你的Wordpress,drupal,或者别的什么,那么你可以尝试按照PGO来改进PHP,专业人员会为你改进这个新项目的性能。其实以wordpress4.1为推广场景..首先在编译程序PHP的情况下:$makeprof-gen。

6.然后用你的新项目训练PHP,比如WordPress:$SAPI/CGI/PHP-CGI-T100/home/陈辉新/local/www/htdocs/WordPress/index.PHP>;/dev/null,就是让php-cgi运行100次wordpress的主页,然后在整个过程中形成一些简介信息内容。最终:

$makeprof-clean$makeprof-use&&makeinstall

7.这时候编译程序得到的PHP7就是为你的新项目量身定制的性能最高的编译器的版本号。

二。PHP7安装和编译程序

1.PHP7的详细下载地址

7最新版本PHP的下载链接:http://down.chinaz.com/soft/37302.htm

2.自学能力强的盆友可以马上从官网下载PHP7,然后手动编写安装。如果你已经习惯使用lnmp.org站长的LNMP一键安装包,可以尝试发布LNMP1.3的公测版,已经改进了推广php7应用的方式:将网址平滑转移到LNMP或LAMP的自然环境中。

3.OneinStack展示的LNMP安装文件已经有了PHP7的一键安装。在脚本制作的情况下,可以选择PHP7进行安装。现阶段只能安装官网内置的ZendOpcache。

4.OneinStack成功安装PHP7。

5.是PHP7信息内容的显示信息。

6.是OneinStack赠送的PHP7的Opcache *** 作面板。

三。PHP7与旧版本PHP和HHVM的性能比较

1.是海外开发者在Wordpress、Drupal等流行程序流程下测试的PHP7和PHP5.6的主要性能。结果是PHP7的性能提升了很多。

2.对于Wordpress等程序进程来说,PHP7不仅单独提高了执行速率,Wordpress在PHP7中运行的时间越长,性能提升越大。

3.如前所述,PHP7对PHP的性能提升在某些方面早已超越HHVM,这是从zend.com海外官网获得的不同程序流程下,PHP5.6、PHP7、HHVM三者高效对比的结果。

4.PHP5.6、PHP7和HHVM的执行效率在mall系统Magento上进行测试,Magento是一个面向技术专业的开源系统。PHP7的运行速度是PHP5.6的两倍,内存占用比PHP5.6低30%。

5.在Drupal8上检测PHP7的高效率更快,这已经超过了HHVM。

6.在Wordpress测试过程中,发现PHP5.6必须占用100MB运行内存,而PHP7需要25MB。

7.很明显PHP7已经领先运行不同的程序了。Ruby2.1,Python2.7.8,Perl5.18.4都不如PHP7。

四。PHP7性能测试结果报告

1.空如果没有证据,PHP7的 *** 作程序性能如何?这里部落以一个新升级的Wordpress作为检测目标。在PHP7上运行的Wordpress主页加载时间为0.029秒,运行内存为3.39MB。

2.是同样的Wordpress网页 *** 作。PHP5.6上的页面加载时间:1.955秒,内存占用3.92MB,从数据信息来看,PHP7已经爆了PHP5.6。

3.与之前的版本号相比,PHP7运行Wordpress的高效率确实有了质的提升。为了更好的全方位把握PHP7的性能,这里按照网络服务器工作压力的Web性能测试方式,用Webbench模拟10秒内200和400线程数,速率都在8000网页/分钟以上。

4.此时VPS网站服务器的负载为3.49。

5.增加模拟线程数至1600,速度仍在8000网页/分钟以上。

6.这时候VPS网站的服务器负载是17,应该有点费力。

7.将模拟线程数增加到5000,速率为4800网页/分钟。速度刚刚开始变得有点慢。

8.此时VPS网站服务器负载为23,对于网络服务器来说太重了。

9.为了更好的测试PHP7在这台VPS主机上的续航极限,Webbench模拟了10000个线程在20秒内连续浏览web服务器。

10.此时VPS网络服务器的系统软件负载将近90,应该是极限了,但是网络服务器还是没有卡。

1.接下来我们来讨论一下相同VPS主机下Wordpress稳定性的测试结果。首先我们用Webbench模拟10秒内200或400个线程的数量,速率为3600个网页/分钟,比上面PHP7检测到的慢了一半。

12.就是PHP5.6检测到200或者400个线程的系统软件负载,已经达到10个,大幅超过PHP7自然环境下检测到的3.49个。

13.在PHP5.6中,模拟线程的数量增加到了1000和2000。此时速度已经降到了1600网页/分钟,成功连接的次数也降到了500左右,远不及PHP7的2700。

14.此时,系统软件负载已经达到17。

15.在PHP5.6中,用Webbench检查线程数为10000,在20秒内连续浏览web服务器。这个时候测试已经卡住了,没有结果。

16.这里VPS网络服务器的系统软件负载早已超过1000,网络服务器早已崩溃。

17.PHP5.6下的Wordpress网址早就宕机了。

五、PHP7兼容困难

1.目前中国的Discuz不兼容PHP7,只能用官网的Opcache进行PHP扩展。其他的,比如eAccelerator,xcache,memcached等。,所以,如果你的程序流对这个扩展有效的话,升级到PHP7就不能用了。

2.经过测试,PHP7运行Wordpress没有问题。

3.在PHP7上安装Wordpress软件没有问题。

4.PHP7中的一些函数和运算符很可能存在不兼容的问题,但99%的程序流很可能难以采用。

六。PHP7安装和应用经验总结

1.PHP7应用后有一个意想不到的惊喜。的确,经过海外开发者的测试,PHP7的性能大多和HHVM差不多,因为HHVM依靠JustInTime)c语言编译器将PHP代码编译成机器指令,所以HHVM的很多PHP程序的执行必须要提高。

2.PHP7拥有HHVM极高的性能和PHP的向后兼容性。我坚信PHP7在不久的将来会被越来越多的人认可和接受。目前虽然针对PHP7的缓存文件、提速等扩展很少,但这只是时间问题,会有越来越多的开发者加入PHP7的开发设计团队。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/764955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-02
下一篇 2022-05-02

发表评论

登录后才能评论

评论列表(0条)

保存