新しい遺物が後援しています。 SitePointを可能にするスポンサーをサポートしてくれてありがとう!予期しないトラフィックサージは、アプリケーションを不自由にする可能性があります。ウイルスのRedditの投稿であろうと、人気の突然の急増であろうと、訪問者の大規模な流入を処理することが重要です。クラウドプラットフォームは自動スケーリングを提供しますが、プロアクティブなローカルテストは時間とお金を節約します。 このガイドでは、展開前にPHPアプリケーションをロードするための強力なツールであるApache Bench(AB)を紹介します。
apacheベンチ(ab)
の紹介 sudo apt-get install apache2-utils
ディレクトリを指すようにします。 これで、URLを介してアプリケーションにアクセスできるようになりました(例:
)。composer create-project laravel/laravel Laravel --prefer-dist
public
最初のテストを実行してくださいhttp://homestead.app:8000
ab homestead.app/
人工的な遅延の導入-n
-c
非効率的なコードの影響を説明するために、意図的にアプリケーションを遅くしましょう。
ab -n 500 -c 100 homestead.app/
そして、ルートを更新
showWelcome
app/Http/Controllers/HomeController.php
と
public function showWelcome() { if (isset($_GET['slower']) && $_GET['slower'] == 'true') { sleep(1); // Introduce a 1-second delay } else { usleep(1); // Minimal delay } return view('welcome'); }
routes/web.php
よくある質問(FAQ)
A:Apache Bench(AB)は、HTTPサーバーをベンチマークするためのコマンドラインツールです。さまざまな負荷レベルでアプリケーションがどのように機能するかを理解し、プロアクティブな最適化を可能にするため、ストレステストには重要です。
Q:Apacheベンチをインストールして使用するにはどうすればよいですか?A:インストールはシステムによって異なります(システムのパッケージマネージャーを確認してください)。使用法には、オプション(リクエストの場合は
など)とターゲットURL。Q:Apacheベンチの結果をどのように解釈しますか? A:キーメトリックには、1秒あたりのリクエスト(高い方が優れています)、リクエストごとの時間(低い方が優れています)、およびリクエストの失敗(ゼロはゼロである必要があります)が含まれます。 「テストにかかった時間」は、合計テスト期間を示しています。
Q:Apache Bench Test HTTPSサイトをテストできますか?
ab
a:はい、URLで-n
プロトコルを使用するだけです。
-c
A:Apacheベンチは、基本的なテストのためにシンプルで迅速です。 より高度なツールは、スクリプトやより洗練されたシナリオテストなどの機能を提供します。 Q:Apacheベンチはボトルネックを識別するのに役立ちますか?
a:正確な原因を特定していませんが、デバッグおよびプロファイリングツールを使用したさらなる調査が必要なパフォーマンスの問題(1秒あたりの低リクエスト、高い障害のある要求)が明らかになります。以上がApachebenchでPHPアプリをストレステストしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。