php8出来有一段时间了,被吹的神乎其神,正好今天在家哄孩子有点时间就测试了一下性能。php
测试服务器为阿里云2核2G,其实测试的都是单核性能,几核几G其实关系不大。测试代码仍是直接使用的之前的代码。以下。nginx
<?php function msec() { list($sec,$msec) = explode(' ', microtime()); return (floatval($sec) + floatval($msec)) ; } $s_time = msec(); function fib($n) { if ($n == 1 || $n == 2) { return 1; } return fib($n - 1) + fib($n - 2); } echo fib(40); $e_time = msec(); echo '<br>'; echo $e_time - $s_time;
OpenLiteSpeed版本为 1.6.21,php版本是7.4和8.0,ngnix版本为1.20,所有是编译安装。测试结果以下。服务器
环境 | 正常 | opcache | 横向对比 |
OpenLiteSpeed php7.4 | 4.10560297966 | 3.7856299877167 | 1.08 |
OpenLiteSpeed php8.0 | 4.316696882247 | 4.075221061706 | 1.06 |
Nginx php7.4 | 17.157423019409 | 11.849323034286 | 1.45 |
Nginx php8.0 | 16.670356035233 | 1.5372290611267 | 10.84 |
php7和php8在OpenLiteSpeed、nginx上的性能测试(包括是否开启opcache)总结:php7
一、php8.0在未开启opcache的时候和php7.4性能差距不大,在偏差范围内,屡次测试,略有提高。性能
二、php8.0在开启opcache的时候和php7.4对比性能提高极为显著,达到了10倍以上的提高,能够说是质的飞跃。测试
三、OpenLiteSpeed对php8之前版本的优化确实好,在php8.0加opcache的测试加入前对比ngnix得到了绝对的优点,4倍以上的性能提高,并且不须要开启opcache。优化
四、OpenLiteSpeed对php8.0的优化却不够,对比php7.4几乎没有提高。阿里云
五、OpenLiteSpeed中开启opcache对性能影响很小,甚至有些测试中还会下降。spa
建议:code
若是程序兼容,尽量升级php8,同时开启opcache,性能提高实在是太明显了。