2009-08-14 4 views
3

これは良いドキュメント/良い記事へのポインタの要求です。私は、Apacheサーバーが合理的に処理できる接続数と、潜在的に複数のサーバー間の負荷分散方法に関する情報を探しています。私はGoogleの検索を行ってきましたが、初心者にとっては良い文書が何であるかを判断するのは難しいです。Apacheが処理できる帯域幅はどれくらいですか?

答えて

7

Apache 1.3にはスケーラビリティにいくつかの制限がありましたが、それ以降のバージョンはハードウェアとオペレーティングシステムに合わせて設計されており、Webサーバー自体ではなくボトルネックになっています。しかし、いつものように、ユーバーのパフォーマンスが必要な場合は、どのように構成して調整するかが決まります。独自のニーズを持っており、それらはここでは説明している各状況:

http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

上記では、Apacheが優れてどこで静的なコンテンツを、提供している前提としています。 Webappsを背後で実行すると、それはApacheでなくボトルネックになります。

+0

+1 - Apacheドキュメントは "良いドキュメント"の1つとしてカウントされます。 –

2

残念ながら、あなたは失望します。

Apache(実際には他のWebサーバー)の接続を処理するApacheの能力は、その上にあるWebアプリケーションが何をしているのかによって制限されます。静的なページを提供している場合、ごくわずかなハードウェアで多くのリクエストを処理できます。

IOの負荷に応じて(ApacheはIOサブシステムよりも高速に動作することはできません。コンテンツをキャッシュするのに十分なRAMをインストールします)、合理的な仕様の現代的なボックスでギガビットネットワークを満たすことができます。

ギガビットネットワークを一度満たしたら、他に気になることがあります。

しかし、ロードバランサが本当に必要な理由は、アプリケーションがApacheの処理速度を低下させ、ボックスのリソースを使い果たしてしまうためです。あなたのアプリケーションは、無限に高速ではなく、無限にスケーラブルでもありません。これらの問題に対処する必要があります。

+0

Apacheが事実上無制限の帯域幅を処理することができないのはどうですか?私はそれをエキサイティングと呼ぶだろう。 – Karl

+0

無制限の帯域幅ではなく、気になるだけではありません。 Webサーバー自体がボトルネックを作成すべきではありません。つまり、どこにも存在しないというわけではありません。 – MarkR

0

これまでの回答では、一般にApacheがボトルネックになることはなく、通常はアプリケーションサーバー(PHP、Mongrelなど)であることが指摘されています。ただし、静的コンテンツのみを提供している場合は、ベンチマークを実行して、どれくらいの速さで実行できるかを確認する必要があります。もちろん、Apacheの設定方法(永続的な接続を無効にするなど)とサーバーの仕様によって多くの部分が異なるため、Apacheが提供できる正確な数は固定されません。しかし、1つまたは2つのサーバーを使用して1〜8コアで実行されるので、野球場の見積りを取得するには、参考として使用することができますので、検討しているハードウェアに匹敵するものを見つけることができます。

もちろん、最も正確な結果を得るには、abhttperfなどのロードジェネレータを使用して自分でテストすることをおすすめします。

関連する問題