2017年1月22日 星期日

小試 PHP 5.6 vs PHP 7.0 vs PHP 7.1

最近想昇級到 PHP 7,本以為最新版的 PHP 7.1 會是最快的,但看到網路上的比較,發現最快的是 PHP 7.0。看來,是不用追最新的版本啊。下面,自己來做個小測試吧。

在 Gentoo 下,使用 elselect 來切換不同版本的 PHP,下面的指令為切換成 PHP 7.0
# eselect php set cli php7.0

使用 PHP 內附的 httpd server
 $ php -S 127.0.0.1:8080

使用 siege 來測試效能
$ siege -c 10 -r 10 -u http://127.0.0.1:8080/ntu-ocw/index.php/ocw/cou/104S113

網頁程式,是自己管的開放式課程 (NTU OCW),使用 Laravel 5.1。

三者比較的結果,PHP 7.0 > PHP 7.1 > PHP 5.6,和網上看到的結果一致。

看起來有夠少的,可是測一下 index.html,卻也只有 Transaction rate: 14.27 trans/sec,實在是不可思議啊,是我不會用 siege?

補充說明

本文看看就好,我必須承認沒有什麼參考性。此網站使用 Laravel framework,受到 session 的影響很大,假如不啟動 session,是可以讓效能提升很多的。

PHP 7.1.1 的結果

Transactions:                 100 hits
Availability:              100.00 %
Elapsed time:               10.77 secs
Data transferred:            5.63 MB
Response time:                0.39 secs
Transaction rate:            9.29 trans/sec
Throughput:                0.52 MB/sec
Concurrency:                3.63
Successful transactions:         100
Failed transactions:               0
Longest transaction:            0.76
Shortest transaction:            0.09

PHP 7.0.15 的結果

Transactions:                 100 hits
Availability:              100.00 %
Elapsed time:                9.83 secs
Data transferred:            5.63 MB
Response time:                0.35 secs
Transaction rate:           10.17 trans/sec
Throughput:                0.57 MB/sec
Concurrency:                3.54
Successful transactions:         100
Failed transactions:               0
Longest transaction:            0.61
Shortest transaction:            0.08

PHP 5.6.29 的結果

Transactions:                 100 hits
Availability:              100.00 %
Elapsed time:               11.37 secs
Data transferred:            5.63 MB
Response time:                0.42 secs
Transaction rate:            8.80 trans/sec
Throughput:                0.50 MB/sec
Concurrency:                3.68
Successful transactions:         100
Failed transactions:               0
Longest transaction:            0.78
Shortest transaction:            0.10

正式網站 Apache 2.2.15 + PHP 5.4.42

Transactions:                 100 hits
Availability:              100.00 %
Elapsed time:                8.15 secs
Data transferred:            5.74 MB
Response time:                0.22 secs
Transaction rate:           12.27 trans/sec
Throughput:                0.70 MB/sec
Concurrency:                2.69
Successful transactions:         100
Failed transactions:               0
Longest transaction:            0.40
Shortest transaction:            0.15

nginx/1.10.2  +  PHP/7.0.14

Transactions:                 100 hits
Availability:              100.00 %
Elapsed time:                8.62 secs
Data transferred:            5.95 MB
Response time:                0.18 secs
Transaction rate:           11.60 trans/sec
Throughput:                0.69 MB/sec
Concurrency:                2.05
Successful transactions:         100
Failed transactions:               0
Longest transaction:            0.30
Shortest transaction:            0.13

沒有留言: