2016-07-04 5 views
-2

誰かが間違ったレポートに遭遇しましたか?チュートリアルhttp://jmeter.apache.org/usermanual/build-web-test-plan.htmlの後にWebテストプランを設定しましたが、ファイルからリクエストパラメータを読み込むためのCSVデータセットコンフィグレーションを追加しました。テストプロセスは警告なしに終了しましたが、詳細なレポートのデータは奇妙です。 jmeter resultJMeter集計レポートの誤動作

しかし文書http://jmeter.apache.org/usermanual/component_reference.html#Aggregate_ReportAverage * Throughputはほとんど1000でなければならない意味

Throughput = (number of requests)/(total time in secs) 
      = 1000 * (number of requests)/(total time in millionsec) 
Average = (total time in millionsec)/(number of requests) 

によると:

それはこのようなものを提供します。

報告書に問題がありますか?

PS:上記http://jmeter.apache.org/usermanual/glossary.html#Throughput

+0

私はこれが明らかな答えではないと思っています。これらの数字をどのように計算し、どのように検証するかについての最も詳細な情報をエスケープします。私は説明する言葉なしに他の人に質問してもらうのが適切だとは思わない。 – Tilney

答えて

1

から来る式がまあ最初から始める:あなたは1つのスレッド、1回の反復を実行し、そのサンプラーが1001ミリ秒で完了した場合、あなたのスループットを1000ミリ秒/ 1001ミリ秒= 1になります/秒。

ここでもう1つのスレッドを追加すると、両方ともすぐに開始されます(1回の繰り返し実行中)。言って、平均は変わらない。したがって、スループットは2 *(1000 ms/1001 ms)= 2/sec(換言すると2サンプラーは1秒以内に終了します)

ここで反復を追加しましょう:2スレッド、2反復、同じ平均:スループットは2/sec前と同じになり、2秒目のスループットは2/sec前と同じになるので、平均で約2/secになります。

しかし、ここで1秒間のランプアップ時間を追加しましょうすぐに開始し、2回目は500ms後に開始します。同じ平均。したがって、最初の2番目のスループットは1 /秒になります(2番目のスレッドは最初の繰り返しを完了しません。 2秒目にスループットは2 /秒になります(最初のスレッドの2回目の繰り返し、2番目のスレッドの最初の繰り返し)。 3秒目にスレッド1は終了しましたが、2番目の反復の途中で2番目の反復の途中で、スループットは1 /秒になります。したがって、平均スループット=(1/sec + 2/sec + 1/sec)/ 3秒。 = 4/3秒。 = 1.3/sec

など - あなたが飽和点になるまでかなり退屈です。彩度点の前にサーバーに与えられるほど、より良い/より大きなスループットが得られます。彩度点の後、サーバがより多くの仕事を持っていても、スループットを向上させることはできません。

たとえば、当時私のサーバーに1回しかリクエストを送信できないとします。したがって、スレッドが2つあっても、上記の例ではスループットは1 /秒になります。

したがって、スクリーンショットには、平均で229ミリ秒のサンプルと56.8秒のスループットの4000サンプルが表示されます。 1人のユーザーが4000回の繰り返しを連続して実行していた場合、スループットは1000/229 ms = 4.4/secになるので、ユーザーは1人以上です。 56.8 /秒のスループットは、実際には約16人のユーザーを意味します。私はあなたの立ち上がり時間とあなたが飽和点の前後にいるかどうかわからないので、正確に何人が私には伝えられないのですか?たとえば、100人の同時ユーザーがいるかもしれませんが、実際にはサーバーへの同時接続数は16にすぎません(過去の飽和ポイント)。または、遅いランプアップを行いました。つまり、ユーザー#17が起動するまでに、 #1はすでに完了しています。だから、サーバーはもっと多くのことを処理することができますが、決してチャンスを得ることはありません。

ああ、16人以下の同時ユーザーでもかまいません。私は、平均スループットから判断しています。これは、ほとんどの場合、良い指標ですが、必ずしもそうではありません。期間。たとえば、最初にスループットが1/secであり、その後サーバーが増加したときに100/secになりました。平均は50 /秒ですが、最後の数 - 50 /秒は無意味です。時間とともに値がどのように変化したかを知ることはより価値があります。

この説明は役立ちます。

+0

説明をありがとう、私はあなたの意見を理解しません。私はスレッド番号を20に設定し、0にランプアップする(同時に20の要求を送信する)、200回反復する。私がテストしたアプリケーションのロジックは、同時または並列の方法で要求を処理することができないため、1人のユーザーと16ユーザーのスループットはまったく同じでなければならないと思います。ロジックを並行して変更した後にqpsがどのように変化するかをテストしたい。 – Tilney

関連する問題