PHP 7性能

Tim*_*enk 22 mysql wordpress nginx performance-testing php-7

我试图重现这个基准测试,它将PHP 7与旧版本在Wordpress服务器上进行比较:http://talks.php.net/oz15#/wpbench

我的配置几乎相同,服务器有i7,SSD,16GB RAM和debian.服务器软件是nginx.令人惊讶的是,我的结果与上面提到的结果有很大不同.

在我的测试中,Siege(https://www.joedog.org/siege-home/)输出以下内容:

对于PHP 7.0.0RC1:

siege -c100 -r100 http://10.22.255.133/wordpress/
** SIEGE 3.0.8
** Preparing 100 concurrent users for battle.
The server is now under siege..      done.

Transactions:                  10000 hits
Availability:                  100.00 %
Elapsed time:                  131.61 secs
Data transferred:              95.77 MB
Response time:                 0.75 secs
Transaction rate:              75.98 trans/sec
Throughput:                    0.73 MB/sec
Concurrency:                   56.98
Successful transactions:       10000
Failed transactions:           0
Longest transaction:           1.01
Shortest transaction:          0.04
Run Code Online (Sandbox Code Playgroud)

对于PHP 5.6.12:

siege -c100 -r100 http://10.22.255.133/wordpress/
** SIEGE 3.0.8
** Preparing 100 concurrent users for battle.
The server is now under siege..      done.

Transactions:                  10000 hits
Availability:                  100.00 %
Elapsed time:                  63.41 secs
Data transferred:              95.77 MB
Response time:                 0.03 secs
Transaction rate:              157.70 trans/sec
Throughput:                    1.51 MB/sec
Concurrency:                   4.45
Successful transactions:       10000
Failed transactions:           0
Longest transaction:           0.63
Shortest transaction:          0.01
Run Code Online (Sandbox Code Playgroud)

在查看您可以看到的事务率时,PHP 5比PHP 7快两倍.我无法相信.

另一个有趣的事实是,运行此基准测试(http://www.php-benchmark-script.com/)导致PHP 7比PHP 5快3倍(当然在同样的服务器上,我也测试过WordPress的).测量结果如下:

  • PHP 7.0.0RC1 | PHP 5.5.28
  • 数学: 0.201 | 0.683
  • 字符串操作: 0.271 | 0.77
  • 循环: 0.166 | 0.486
  • 如果其他: 0.12 | 0.295

我已经上传了两个phpinfo()文件,以防有助于:

  • PHP版本7.0.0RC1:http://simsso.de/downloads/stackoverflow/php7.html
  • PHP版本5.6.12-0 + deb8u1:http://simsso.de/downloads/stackoverflow/php5.html

您是否知道为什么PHP 7在我使用Wordpress的测试中速度要慢得多?


随着opcache启用 PHP 7实际上是快两倍,PHP 5感谢MJH您提示!

我在随机填充的WordPress服务器上进行了以下测量.

Siege现在为PHP 7.0.0RC1输出以下内容:

Transactions:                  10000 hits
Availability:                 100.00 %
Elapsed time:                  62.14 secs
Data transferred:             604.20 MB
Response time:                  0.02 secs
Transaction rate:             160.93 trans/sec
Throughput:                     9.72 MB/sec
Concurrency:                    3.77
Successful transactions:       10000
Failed transactions:               0
Longest transaction:            0.41
Shortest transaction:           0.01 
Run Code Online (Sandbox Code Playgroud)

PHP 5.6.12:

siege -c100 -r100 http://10.22.255.133/wordpress/
** SIEGE 3.0.8
** Preparing 100 concurrent users for battle.
The server is now under siege..      done.

Transactions:                 10000 hits
Availability:                 100.00 %
Elapsed time:                 119.98 secs
Data transferred:             604.20 MB
Response time:                0.60 secs
Transaction rate:             83.35 trans/sec
Throughput:                   5.04 MB/sec
Concurrency:                  49.86
Successful transactions:      10000
Failed transactions:          0
Longest transaction:          4.06
Shortest transaction:         0.04
Run Code Online (Sandbox Code Playgroud)

Que*_*sen 19

根据phpinfo您发布的输出,opcache未启用PHP 7,而它适用于PHP 5.仅此一项就可以带来巨大差异.