0

これがシナリオです

Webアプリケーションの負荷テストを行っています。アプリケーションは、負荷を分散するハードウェアロードバランサーを備えた2つのVMサーバーにデプロイされます。

ここで使用される2つのツールがあります1.HPLoad Runner(高価なツール)。2.JMeter-無料

JMeterは、開発チームが膨大な数のユーザーをテストするために使用しました。また、LoadRunnerのようなライセンス制限もありません。

テストはどのように実行されますか?URLはいくつかのパラメーターで呼び出され、Webアプリケーションはパラメーターを読み取り、結果を処理してpdfファイルを生成します。

テストを実行すると、1000人のユーザーの負荷が60秒間に広がった場合、アプリケーションが1000個のファイルを生成するのに4分かかることがわかりました。同じURLをJMeterに渡すと、1000人のユーザーが60秒の立ち上げ時間で、アプリケーションは1分15秒で1000個のファイルを生成します。

なぜこのパフォーマンスの大きな違いがあるのか​​、私はここで困惑しています。

ロードランナーには、両方のサーバーにrstatデーモンがインストールされています。

手がかりはありますか?

4

3 に答える 3

1

ここには本当に4つの可能性があります。

  1. あなたは2つの異なるものを測定しています。タイミングレコードの構造を確認してください。
  2. リクエストとレスポンスの情報は、2つのツール間で異なります。FiddlerまたはWiresharkに確認してください。
  3. テスト環境の初期条件は異なり、異なる結果が得られます。101のものをテストしますが、このような問題を追跡する際に見落とされることがよくあります。
  4. ロードランナー環境に過負荷のロードジェネレーターがあり、すべての仮想ユーザーの速度が低下しています。たとえば、すべてをログに記録しているため、ファイルシステムがテストのボトルネックになっている可能性があります。ジェネレーターの負荷を意図的に減らし、ロギングレベルを減らし、相関にメモリをどのように使用しているかを監視して、スワップアクティビティが高くなる物理メモリのオーバーサブスクライブ状態を作成しないようにします。

JMETERの方が高速であるという上記のコメントに関して、私は両方のベンチマークを行いました。非常に複雑なコードの場合、LoadrunnerのCベースのソリューションは、JMETERのJavaベースのソリューションよりも反復から反復までの実行が高速です。(方法:バッチ住宅ローン処理のためにアップロードするデータファイルをその場で作成するための複雑なアルゴリズム。p3:800Mhz。2GBのRAM。LoadRunnerは1人のユーザーに対して1時間あたり180万回の反復を管理していません。JMETER、120万)はサーバーの応答時間であり、両方に決定されます。

LoadRunnerは、テスト結果に影響を与えるツールの告発に直接対処するために、内部API時間を追跡することに注意してください。結果セットデータベースセット(必要に応じて.mdbまたはMicrosoft SQL Serverインスタンス)を開き、[イベントメーター]テーブルを見ると、「無駄な時間」のリファレンスが見つかります。無駄な時間の定義は、LoadRunnerのドキュメントに記載されています。

于 2011-06-22T12:56:56.403 に答える
1

ほとんどの場合、原因はスクリプトの構造にあります。

考慮事項:

  • 考える/待機時間:記録時に、Jmeterは自動的に待機を開始しません。
  • 要求されているアイテム:Load runnerがすべての埋め込みファイルを取得している間、JmeterはHTMLページのみを要求/ダウンロードしていますか?
  • 無効な応答:1000 Jmeterの応答はすべて有効ですか?1つのデスクトップから1000のスレッドがある場合、Jmeterを強制終了し、すべての応答が有効であったとは限りません。
于 2010-10-29T17:37:07.620 に答える
0

応答の到着はテストマシンの時間に基づいているため、テストアプリケーション自体がそれ自体を測定することを忘れないでください。したがって、この観点からは、JMeterの方が単純に高速であることが答えになる可能性があります。

次に言及するのは、BlackGaffが言及した待機時間です。

常にjmeterの結果ツリーで結果を確認してください。

また、テストアプリケーション自体がサーバーをロードするため、実際の結果を確認するには、常にテストアプリケーションを別のハードウェアに配置してください。

于 2010-11-05T12:02:29.003 に答える