1

現在、開発中の Web アプリケーション製品でいくつかの安定性の問題に直面しています。この製品は、パートナーの請負業者によって部分的に構築されたものであり、安定性のための優れた標準メトリックが必要です. 私たちが直面している問題は、絶え間ないクラッシュです。Web アプリケーションは、処理できる以上のリクエストがあることを識別できず、(メモリ リークのように) メモリを蓄積し、その後、可能な種類の回復なしで終了します。

パートナー請負業者に会うための非常に簡単な測定を書きたいと思います。私たちはいくつかのアイデアを考えました:

  • 高負荷のリクエストを識別し、サーバーが利用できないサービスを提供できるシステムは、高負荷から回復するまで、ページを再試行します。
  • ロード バランサーやキャッシングなどのスケーラビリティ オプションをいつ使用するかを明確に判断できる、同時ユーザー数またはページビュー数の設定。

現時点では、キャッシュと負荷分散を使用して、(負荷に応じて) x 時間ごとに Web アプリケーションをリサイクルできるようにする必要があります。

ご協力いただきありがとうございます。

4

3 に答える 3

5

「高負荷」を定義するのは本当に難しいです。

最低限許容できるサービス レベルを判断するのは、はるかに簡単です。

  1. 同時リクエストの最小数。

  2. リクエストを処理する最大時間。

  3. 1 時間あたりの最小リクエスト数。

このような単純なサービス レベルは、測定、シミュレーション、契約への書き込みが容易です。弁護士や会計士は、負荷テストの結果を確認して、最小値を満たしているかどうかを判断できます。深い技術的知識はまったく必要ありません。

これを行うと、「最小が最大になる」ことに注意してください。1 時間あたり最低 10,000 のリクエストを処理する必要があると言う場合、多くの場合、テストによってそれが最大であることが明らかになります。

したがって、ビジネスモデルから最小値と最大値を定義してください。人々を幸せにし、生産性を維持するには、いくつ必要ですか? それ以上求めるのはばかげている。要求を減らすということは、ユーザーが不満を感じたり非生産的になったりすることを意味します。

于 2009-04-28T12:53:13.947 に答える
0

必要なのは、次のパラメーターです。

  1. 負荷テスト:

    i) アプリケーションの使用状況を見積もります.. (つまり) いいえ。予想される同時ユーザーの数、一般的なユーザー アクティビティ

    ii) アプリケーションを徐々にロードし、CPU 使用率、応答時間、スループットなどのパラメータを調べます。

  2. 持続可能性:

    かなりの時間 (12 ~ 24 時間) にわたってアプリケーションを (最適な負荷で) ロードし、同じパラメーターの CPU 使用率、エラー レベルなどを調べます。

ハードウェアを段階的に追加し、アプリケーションの動作を監視するスケーラビリティを試すこともできます。

これにより、システムの動作を十分に理解できるはずです。

于 2009-04-28T14:09:25.993 に答える
0

通常、これらのパフォーマンス タイプの要件が仕様に組み込まれているのを見てきました...「システムは x の同時ユーザー数をサポートする必要があります」または「1 時間あたり x のリクエスト数」。

これらのことは、LoadRunner などを使用して簡単にテストおよび検証できます。また、HttpUnit などを使用して独自の同様の負荷テスターを展開することもできます。

于 2009-04-28T12:54:21.960 に答える