0

私たちのサイトにはかなりの露出 (テレビ) があるため、かなりのトラフィックが発生する可能性があり、準備を整えるために最善を尽くしたいと考えています。私は AWS を使用しており、MySQL データベースを独自の RDS インスタンスに移動しました。

現在、Web サーバー上にあるのは基本的に Apache だけです。7.5 GB の RAM と 2 つの CPU を備えた「大」インスタンスを割り当てました。

私は Apache の設定を知らなかったために、ボックスから最大限に活用できていないのではないかと心配しており、特に MinSpareServers、MaxSpareServers、および StartServers の設定について心配しています。

CakePHP アプリを提供しています。

各インスタンスは、スポーン後に 22MB のメモリを消費するようです

あなたが提供できる洞察をありがとう

4

1 に答える 1

0

まず、ELB 構成がトラフィックの急増を処理できることを確認する必要があります (ELB を使用している場合)。ここでのポイントは、ELB は 5 分ごとに (およそ) 50% しかスケーリングできないため、トラフィックのスパイクを適切に処理できないということです。追加情報はこちら

ELB を使用していない場合は、サーバーの前にロード バランサーを追加することをお勧めします (トラフィックが急増する傾向があるため、特に HAProxy を使用しています)。これにより、問題が発生した場合に新しいサーバーを迅速に追加できます。

Apache のチューニングに関する質問に戻りますが、マシンで使用可能なすべての RAM を使用していることを確認する必要があります。これは、簡単な負荷テスト (siege または apache ab を使用) を設定し、EC2 インスタンスが飽和状態になるまで MaxSpareServers と MaxClients の設定を上げることを意味します。また、Prefork の代わりに MPM Worker を実行していることを確認してください。かなり良い結果が得られました。マシンに CPU が 2 つしかない場合、非常に多数の同時 apache プロセスを使用しても、CPU が飽和する可能性があるため、あまり役に立ちません。

パフォーマンスは、実際に実行しているアプリケーションによって大きく異なり、RDS インスタンスなどの他のボトルネックが発生する可能性がありますが、適切にキャッシュされたソリューションは、言及したサーバーで 10 ~ 40k RPM を生成するはずです。

スケーリングは通常、テストと最適化が必要なものですが、これが少し役立つことを願っています.

于 2013-11-01T11:31:28.450 に答える