読者です 読者をやめる 読者になる 読者になる

【php】php5.6とphp7.0をwordpressで比較してみた

はじめに

php5.6からphp7.0にしたらどれくらい速くなるのかというのを試してみただけ
環境としてはローカルPCにvagrantでcentos6.7、php5.6、mysql5.6、apache2.2.15をインストールして
最新バージョンのwordpressをいれてダミーデータを登録してapache benchでレスポンスを比較
また、apachemysqlのチューニングは一切なしで

環境の構築についてはこちらのとおり
【vagrant】開発環境をサクッと作るときの手順メモ - とりあえずphpとか
【wordpress】wordpress検証用環境を作ったので構築手順メモ - とりあえずphpとか

結果

apache benchコマンド

$ ab -n 100 -c 20 http://192.168.33.10/

php5.6

Requests per second:    1.96 [#/sec] (mean)
Time per request:       10220.889 [ms] (mean)
Time per request:       511.044 [ms] (mean, across all concurrent requests)

php7.0

Requests per second:    6.17 [#/sec] (mean)
Time per request:       3242.168 [ms] (mean)
Time per request:       162.108 [ms] (mean, across all concurrent requests)

「Requests per second」を見ると1秒間に捌けるリクエスト数が3倍になってる。。。
検証用アプリも自前で用意してもう少し色々調べた方がいいとは思うが、wordpressに70記事くらい登録した状態でもこれだけの差が出たのでかなり速くなったと思って良い気がする

以上です

apache bench 全結果
php5.6

$ ab -n 100 -c 20 http://192.168.33.10/
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.33.10 (be patient).....done


Server Software:        Apache/2.2.15
Server Hostname:        192.168.33.10
Server Port:            80

Document Path:          /
Document Length:        72219 bytes

Concurrency Level:      20
Time taken for tests:   51.104 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      7245700 bytes
HTML transferred:       7221900 bytes
Requests per second:    1.96 [#/sec] (mean)
Time per request:       10220.889 [ms] (mean)
Time per request:       511.044 [ms] (mean, across all concurrent requests)
Transfer rate:          138.46 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
              Connect:        0    4  17.2      0     101
              Processing:  1860 9649 3442.2  10069   15742
              Waiting:      891 5848 2199.6   5802   11823
              Total:       1860 9653 3442.9  10069   15742

Percentage of the requests served within a certain time (ms)
  50%  10069
  66%  11226
  75%  12287
  80%  12555
  90%  13802
  95%  14827
  98%  15437
  99%  15742
 100%  15742 (longest request)

php7.0

$ ab -n 100 -c 20 http://192.168.33.10/
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.33.10 (be patient).....done


Server Software:        Apache/2.2.15
Server Hostname:        192.168.33.10
Server Port:            80

Document Path:          /
Document Length:        72219 bytes

Concurrency Level:      20
Time taken for tests:   16.211 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      7245700 bytes
HTML transferred:       7221900 bytes
Requests per second:    6.17 [#/sec] (mean)
Time per request:       3242.168 [ms] (mean)
Time per request:       162.108 [ms] (mean, across all concurrent requests)
Transfer rate:          436.49 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
              Connect:        0    0   0.4      0       2
              Processing:   599 3078 1347.5   2913    6638
              Waiting:      394 2430 1161.5   2152    5876
              Total:        600 3079 1347.4   2914    6638

Percentage of the requests served within a certain time (ms)
  50%   2914
  66%   3405
  75%   3639
  80%   3781
  90%   5241
  95%   6026
  98%   6501
  99%   6638
 100%   6638 (longest request)