cover_image

【重磅发布】新浪云已支持超高性能极致速度的PHP 7运行环境啦!

新浪云计算 2016年09月27日 10:45

新浪云的PHP 7版本运行环境上线了,相对于PHP 5,PHP 7的性能,在官方宣传和实际应用测试中都有极好的性能表现,大多数的主流应用和框架都有超过1倍的性能提升


随着新浪云支持PHP 7运行环境,将应用切换到PHP 7版本运行无疑是更好的选择,但是,由于PHP 7的修改十分巨大,因此,有极少部分的代码是不兼容的,需要针对性的进行修改,想比较巨大的性能提升,这些小的修改就变得微不足道啦~


目前新浪云的PHP 7极度接近标准PHP 7环境,几乎对原版PHP 7没有任何修改,因此,能在原版PHP 7环境中运行的程序,一定可以在新浪云无缝运行。


针对PHP 7的修改,官方也提出了迁移指南,通过迁移指南,可以根据实际情况,满足PHP 7的代码编写要求。


其中,最重要的有以下项:

1
mysql系列函数被移除

mysql系列函数(mysql_connect, mysql_query …),在PHP 5.5.0 起已经被标记为废弃状态,并在PHP7版本中已经移除,官方更加推荐使用mysqli系列函数,或者PDO进行数据库的相关操作,如果您在代码中使用了mysql系列函数,需要将其修改为mysqli,或者使用PDO,以便能在PHP 7环境运行。


2
$HTTP_RAW_POST_DATA 被移除

同样的,$HTTP_RAW_POST_DATA变量在PHP 5.6.0 中被标记为废弃状态,在PHP 7中已经移除,因此,需要使用 php://input 作为替代。


3
ereg系列函数被移除

ereg系列函数(ereg, eregi, ereg_replace …)等也同样被移除了,如果有类似的调用,需要替换为preg相关的函数。


4
针对新浪云的服务

原有的SaeCounter,SaeRank已经不再支持,需要使用Redis服务进行替换。同时,SaeKV扩展暂时也不提供支持,即无法使用KVDB服务。


除了上述的一些比较大的修改,还有一些小的变更,可以参考迁移指南,或者,直接切换到PHP 7版本,根据错误日志,找到不符合规范的地方,直接修改就好啦~


放一个针对PHP 7运行环境的性能测试,结果会让你大吃一惊的!


说一下测试环境:


在一台机器上,使用ab进行压测,设置连接数为30,测试请求总数为1000,换用不同的PHP版本,应用为WordPress 4.6.1全新安装版本,可以得到下面的结果:


PHP 5.3


Concurrency Level:      30
Time taken for tests:   21.246 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      11064000 bytes
HTML transferred:       10845000 bytes
Requests per second:    47.07 [#/sec] (mean)
Time per request:       637.381 [ms] (mean)
Time per request:       21.246 [ms] (mean, across all concurrent requests)
Transfer rate:          508.55 [Kbytes/sec] received


PHP 5.6


Concurrency Level:      30
Time taken for tests:   22.701 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      11064000 bytes
HTML transferred:       10845000 bytes
Requests per second:    44.05 [#/sec] (mean)
Time per request:       681.031 [ms] (mean)
Time per request:       22.701 [ms] (mean, across all concurrent requests)
Transfer rate:          475.96 [Kbytes/sec] received


PHP 7


Concurrency Level:      30
Time taken for tests:   4.473 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      11064000 bytes
HTML transferred:       10845000 bytes
Requests per second:    223.54 [#/sec] (mean)
Time per request:       134.202 [ms] (mean)
Time per request:       4.473 [ms] (mean, across all concurrent requests)
Transfer rate:          2415.31 [Kbytes/sec] received


图片


可以看到,性能差距巨大,同样的请求数和并发,生成的内容长度也相同


PHP 7的QPS从PHP 5的44.05/sec和47.07/sec暴涨到223.54/sec实现了几乎5倍的增长每个请求的时间也从650ms左右降低到了只有130ms!


图片


有如此提升,还不赶紧试试 PHP 7的强大威力


如何创建PHP7的运行环境呢?


进入SAE控制台,点击版本迁移图标,就可以一键在PHP 5.3,PHP 5.6,PHP 7三个版本之前轻松秒级切换


图片


鼠标点点~放到你需要的版本就好啦!


图片



在SAE控制台中,也可以直接创建PHP 7的应用,在创建新应用时,语言版本选择“7.0”,超高性能极致速度的PHP 7运行环境的应用就建好啦!


图片



图片




继续滑动看下一个
新浪云计算
向上滑动看下一个