0

Web アプリケーションの負荷テストに Visual Studio Team System 2008 Team Suite を使用しています (ASP.MVC テクノロジを使用しています)。

負荷パターン:一定 (これは、常に一定量の仮想ユーザーがいるということです)。私は 1000 人のユーザーの構成を指定して、非常にストレスの多い状況で Web アプリケーションのパフォーマンスを分析しています。アプリケーションにいくつかの変更を加えながら、同じ負荷テストを複数回実行しています。

しかし、負荷テストの結果を分析しているうちに、私は奇妙な依存関係にたどり着きました: 平均ページ応答時間が長くなると、1 秒あたりのリクエスト数の値も増加します!逆もまた同様です: 平均ページ応答時間が短いと、1 秒あたりのリクエスト数の値が少なくなります.この状況ユーザー数が少ない場合 (5 ~ 50 ユーザー) は再現しません。

このような結果をどのように説明できますか?

4

3 に答える 3

3

ここでは、Requests/Sec という用語に誤解があるかもしれません。私の理解によると、リクエスト/秒は、テストがアプリケーションにプッシュするリクエストの数を表すだけです (1 秒あたりに完了するリクエストの数ではありません)。

そうやって見ると。これは理にかなっているかもしれません。

1 秒あたりのリクエスト数が多いと、平均が高くなります。応答時間 (CPU バウンド、メモリ バウンド、または IO バウンドなど、どこかのボトルネックによる)。

そのため、リクエスト/秒が増加し、メモリ内に大量のオブジェクトがあると、メモリが圧迫され、ガベージ コレクションがトリガーされ、応答時間が遅くなります。

または、1 秒あたりのリクエスト数が増加し、CPU に負荷がかかると、CPU 時間を待たなければならない場合があり、その結果、応答時間が長くなります。

または、リクエスト/秒が上がると、SQL が適切に調整されず、ブロッキングとデッドロックが発生し、応答時間が長くなります。

これらは、これらの相関が見られる理由の例にすぎません。CPU、メモリ使用量、および IO (ネットワーク、ディスク、SQL など) に関して、さらに追跡する必要がある場合があります。

于 2009-07-07T16:05:52.007 に答える
0

これは、ユーザー数が増加すると、1 秒あたりの要求数が増えることでサーバーに負荷がかかるため、通常の結果です。どのサーバーも、1 秒あたりにより多くのリクエストを処理するのに時間がかかります。つまり、ページの平均応答時間が長くなります。

1 秒あたりの要求数はアプリケーションに適用される負荷の測定値であり、平均ページ応答時間はアプリケーションのパフォーマンスの測定値であり、数値が大きいほど応答が遅くなります。

段階的なユーザー数を使用するか、負荷がサーバーに徐々に適用されるウォームアップ期間を使用することをお勧めします。

また、1 台のテスト マシンに 1000 人の仮想ユーザーがいる場合、テスト マシンの CPU は完全に使い果たされます。それが、テストの結果をゆがめている可能性が最も高いでしょう。仮想ユーザーの数をいじってみると、1 秒あたりのリクエスト数が上限に達するポイントがあることがわかります。仮想ユーザーを追加または削除すると、アプリからの 1 秒あたりのリクエストが少なくなります。

于 2009-09-22T01:23:39.820 に答える
0

問題の詳細: 標準の ASP.NET aspx に対してレンダリング エンジン [NDjango][1] の負荷テストを行っています。ロード テストに使用している Web アプリは非常に基本的なものです。2 つの静的ページで構成されています。データベースはなく、負荷の高い処理はなく、レンダリングだけです。平均応答時間に関しては、予想どおり aspx の方がかなり高速ですが、驚いたことに、テスト期間中の 1 秒あたりの要求数と合計要求数ははるかに低くなっています。何に対して何をテストしているかは別として、Jimmy に同意しますが、リクエスト レートが高くなると、多くの点でサーバーが詰まる可能性があります。しかし、これにより応答時間が長くなることは私の理解です。取得している数値が実際にサーバーで起こっていることを反映している場合、このルールがどのように破られるかわかりません。

[1]: http://www.ndjango.org NDjango

于 2009-07-08T12:35:43.363 に答える