現在インストールしている Homestead 仮想マシンのバージョンは 2.1.8 です:
Homestead のこのバージョンにプレインストールされている PHP のバージョンは 5.6.15 です:
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 バージョン情報が正しいかどうかを確認します。
現時点では、ブラウザ ://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 サイトの他の関連記事を参照してください。