1

システムに負荷がかかっているとき (メモリと CPU) を理解したいのですが、いつスケーリングを計画する必要がありますか。

メモリー

私はec2インスタンスを使用しています。複数のプロセスを実行しています。常に 80 ~ 90% のメモリを消費します。利用可能なものを最大限に活用していることを心配する必要がありますか、それとも満足する必要がありますか。

どのようなメモリ消費量が必要で、どのような状況でスケーリングを心配する必要がありますか?

CPU

他のプロセスを実行する別の ec2 インスタンスがあります。ほとんどの場合、システムの CPU 使用率はわずか 18 ~ 20% ですが、一部のプロセスでは 90 ~ 100% に跳ね上がります。

何か問題が発生する可能性がありますか、またはCPUサイクルが利用できないためにプロセスのみが遅くなり、しばらくするとプロセスが完了する可能性があります. また、新しいプロセスは、CPU サイクルが利用可能になるまで待機します。

何か問題が発生する可能性はありますか?

基本的に、スケールアップ(垂直または水平)を検討する必要がある場合のシナリオと値は何かを理解したい

行内の回答または参照へのポインタで、何でも高く評価されます。

4

2 に答える 2

1

リソースの使用状況からパフォーマンスを予測するよりも、パフォーマンスを測定する方がはるかに簡単です。そのため、jmeter または wget で小さなプローブをセットアップし、約 1 時間ごとにシステムをテストして、スローダウンを検出します。

通常のプローブを実行する準備をするときは、単一​​のターゲット システムでテストを実行し、速度が低下するまでに何人のユーザーが必要かを調べます。インスタンスを追加することによって、本番環境で避けるべき数です。

次に、リソース使用量を測定して、問題の根本原因を確認し、インスタンスにさらに多くのリソースを指定できるかどうかを確認します。

--デイブ

于 2012-10-28T13:57:00.717 に答える
0

まず第一に、自分でスケーリングするときのしきい値を定義する必要があります。これは主に、品質または安定性のガイドラインとアプリケーションにあるいくつかの要因と関係があります。これに関する一般的な規則はほとんどありません。考慮すべき点は次のとおりです。

  • 一部のアプリケーションは、100%のCPU使用率で正常に実行でき(このマシンに他のジョブがない限り)、たとえば、一部のアプリケーションは、80%のしきい値を使用する場合にスケーリングする必要があります。同じことがメモリにも当てはまります。
  • 特定の時間内に完了しなければならない重要なタスクがあるかどうかを考えてください。もしそうなら、あなたは彼らが彼らの仕事をするのに十分なCPUやメモリを手に入れることを考えなければなりません。
  • 常にシステムデータを観察および測定します。時間の経過に伴うパフォーマンスデータ(およびその変化)を表示するために、muninのようなシステムを用意することをお勧めします。測定する興味深いポイントは、システム負荷、CPU使用率、メモリ消費量、I/Oサービス時間などです。
  • アプリケーションを制限するものを理解してください。たとえば、CPUを集中的に使用するタスクがたくさんある場合は、CPUが限界です。実行するI/Oが多い場合は、I / O統計、遅延時間などに注意してください。

要約すると、スケーリングの必要性はアプリケーションによって異なります。システムリソースの使用に関して、それをよりよく知るようになります。監視システムを設定している場合は、システムのパフォーマンスを経時的に監視できます。

良い読み物は「キャパシティプランニングの芸術」です。また、「キャパシティプランニング」について少しググると、さらにいくつかのポイントが見つかります。

于 2012-10-27T11:09:43.720 に答える