Inc. の Joel の記事で、How Hard Could It Be?: The Unproven Pathというタイトルで、彼は次のように書いています。
...ジェフと彼のプログラマーは非常に優秀だったので、1 日 80,000 人の訪問者 (約 755,000 ページ ビュー) に対応できるサイトを構築しました。
サーバーが処理できる最大負荷を計算するにはどうすればよいですか?
Inc. の Joel の記事で、How Hard Could It Be?: The Unproven Pathというタイトルで、彼は次のように書いています。
...ジェフと彼のプログラマーは非常に優秀だったので、1 日 80,000 人の訪問者 (約 755,000 ページ ビュー) に対応できるサイトを構築しました。
サーバーが処理できる最大負荷を計算するにはどうすればよいですか?
ソフトウェアのベンチマークは、見た目よりもはるかに難しいことがよくあります。確かに、ソフトウェアのパフォーマンスについて何かを示すいくつかの数値を生成するのは簡単ですが、エンドユーザーの実際の使用パターンの非常に正確な表現を使用して計算されない限り、実際の結果とは完全に異なる可能性があります野生で。Webサイトは、正しくベンチマークするのが難しいことで有名です。もちろん、ページの生成にかかる時間を測定するスクリプトを実行することはできますが、実際の使用状況で表示される数値とは大きく異なります。
サーバーが処理できるものの確実なベンチマークを作成するには、最初にユーザーの使用パターンを把握する必要があります。サイトがすでに実行されている場合は、ログからこのデータを簡単に収集できます。次に、実際のユーザーが示すのとまったく同じパターンをエミュレートするシミュレーションを作成する必要があります。つまり、フロントページの表示、ログイン、ステータスページの表示などです。ページが異なればサーバーへの負荷も異なり、サーバーの負荷をシミュレートするときに実際に正しいページのセットをフェッチする必要があります。最後に、どのリソースがユーザーによってキャッシュされているかを把握する必要があります。アクセスログを確認するか、firebugなどのツールを使用して、これを再度行うことができます。
JMeter、ab、またはhttperf
いくつかの「ストレステスト」を作成して、他のポスターが言っているようにそれらを実行することができます。
Apacheには、これらのテストを作成して数回実行できるJMeterというツールがあります。
ご挨拶。
基本的に、ユーザーの動作を模倣し、サーバーの応答が受け入れられなくなるまで、模倣されるユーザーの数を増やし続ける必要があります。
これを行うことができるさまざまなツールがありますが、基本的には、サイトでいくつかのセッションアクティビティを記録してから、それらのセッションを何度も再生(実際のユーザーの行動を反映するためにランダム化を追加)する必要があります。
各セッションのパフォーマンスをログに記録し、パフォーマンスが許容できなくなるまで負荷を増やし続ける必要があります。
Apache にはab
、サーバーのベンチマークに使用できるツールがあります。ロード リクエストと同時実行状況をシミュレートできます。