ホームページ >バックエンド開発 >PHP7 >LaravelブログアプリケーションのPHP7.0とPHP5.6でのパフォーマンス比較分析について詳しく解説

LaravelブログアプリケーションのPHP7.0とPHP5.6でのパフォーマンス比較分析について詳しく解説

藏色散人
藏色散人転載
2020-04-23 14:07:423159ブラウズ

現在インストールしている Homestead 仮想マシンのバージョンは 2.1.8 です:

LaravelブログアプリケーションのPHP7.0とPHP5.6でのパフォーマンス比較分析について詳しく解説

Homestead のこのバージョンにプレインストールされている PHP のバージョンは 5.6.15 です:

LaravelブログアプリケーションのPHP7.0とPHP5.6でのパフォーマンス比較分析について詳しく解説

ab コマンド (Apache が提供するパフォーマンス テスト ツール) を使用して、Laravel アプリケーションのパフォーマンスをテストします (現在話題になっている Laravel を使用して開発されたブログ アプリケーションを例に挙げます)。例) このバージョンでは、10,000 回のリクエスト、100 の同時ストレス テストをシミュレートします:

ab -n 10000 -c 100 http://blog.app/

実行結果は次のとおりです:

This is ApacheBench, Version 2.3 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.app (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.8.0
Server Hostname: blog.app
Server Port: 80

Document Path: /
Document Length: 324 bytes

Concurrency Level: 100
Time taken for tests: 69.354 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 19851388 bytes
HTML transferred: 10230000 bytes
Requests per second: 144.19 [#/sec] (mean)
Time per request: 693.545 [ms] (mean)
Time per request: 6.935 [ms] (mean, across all concurrent requests)
Transfer rate: 279.52 [Kbytes/sec] received

Connection Times (ms)
                  min  mean[+/-sd]  median  max
Connect:       0       0     0.2                 0      3
Processing: 17    684   319.1           588   2720
Waiting:      17     684   319.1           588   2720
Total:          20     684   319.1           588   2720

Percentage of the requests served within a certain time (ms)
 50%      588
 66%      695
 75%      842
 80%      933
 90%    1155
 95%    1321
 98%    1545
 99%    1813
 100%  2720 (longest request)

ここで注目したいのは、赤い太字のテキストです。つまり、1 秒あたりに処理されるリクエストの数であり、パフォーマンスの測定システムの主要な指標となります。システムやハードウェア構成によっては、データに多少の差異が生じる場合があります。

ここで、「Laravel Homestead は PHP 7 をサポートします 」セクションで説明されているように、Homestead の PHP をバージョン 7.0 にアップグレードします。

vagrant ssh を使用して、新しく追加された homestead-7 仮想マシンにログインし、PHP バージョン情報が正しいかどうかを確認します。

LaravelブログアプリケーションのPHP7.0とPHP5.6でのパフォーマンス比較分析について詳しく解説

現時点では、ブラウザ ://blog.app で http にアクセスすると、新しくインストールされた Homestead データベース データが空であるため、エラーが報告されます。仮想マシンにログインし、次のコマンドを実行して移行を実行し、データを入力する必要があります:

php artisan migrate 
php artisan db:seed

もう一度アクセスしても問題ありません。それでは、続けましょう。同じ ab コマンドを使用してストレス テストを実行します:

ab -n 10000 -c 100 http://blog.app/

実行結果は次のとおりです:

This is ApacheBench, Version 2.3 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.app (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.8.0
Server Hostname: blog.app
Server Port: 80

Document Path: /
Document Length: 324 bytes

Concurrency Level: 100
Time taken for tests: 45.032 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 20101202 bytes
HTML transferred: 10230000 bytes
Requests per second: 222.06 [#/sec] (mean)
Time per request: 450.319 [ms] (mean)
Time per request: 4.503 [ms] (mean, across all concurrent requests)
Transfer rate: 435.91 [Kbytes/sec] received

Connection Times (ms)
                  min  mean[+/-sd]  median   max
Connect:       0       0     0.2                 0       4
Processing: 11    443   252.8           379   1978
Waiting:      11     443   252.8           379   1978
Total:          15     443   252.8           379   1978

Percentage of the requests served within a certain time (ms)
 50%      379
 66%      517
 75%      590
 80%      631
 90%      795
 95%      938
 98%    1060
 99%    1229
 100%  1978 (longest request)

比較後、PHP 7.0 での同じ Laravel アプリケーションのパフォーマンスは、PHP 5.6 でのパフォーマンスより 54% 向上しました。これは非常に大幅なパフォーマンスの向上です。もちろん、データは環境によって異なりますが、まだ余裕があります改善のために。

元のアドレス: https://xueyuanjun.com/post/2398

以上がLaravelブログアプリケーションのPHP7.0とPHP5.6でのパフォーマンス比較分析について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はxueyuanjun.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。