2017-05-31 93 views
0

私はJMeterが新しく、各要求に対して可変データを渡す必要のあるテスト計画をセットアップしようとしています。例えば、私は、逐次固有ID(PD1 ... PD10000)を有する10,000個の製品を有する。私はまた250の価格記録と同様に逐次ユニークID(PR1 .... PR250)を持っています。 私の要求は、各製品IDが価格記録に対して250回繰り返されるように送信されたいと思っています。 Thread(User)数を250に設定し、ループ数を10,000に設定しようとしましたが、標準関数$(__ counter(FALSE、))を使用しましたが、これが増えて10,000制限を超えます。二つの変数またはループコントローラ、私は繰り返しデータなどJMeterループカウンタ

{ ProductId : ${ProductId}, 
    PriceId : ${PriceId} 
} 

1の間のProductIDループ渡すことができるように - 。10000とPriceIdは1から250の間でループを おかげ

答えて

0

あなたは250を実行するために、各製品が必要な場合スレッド数(ユーザー数)は10000、ループ回数は250にする必要があります。置換する値をPD1、PD2などとすると、s eparateカウンタ(Configエレメント - >カウンター)製品IDと価格IDについて、PRODUCT_IDとして参照名とそれぞれprice_idと

エルス
{ 
ProductId : PD${product_id}, 
PriceId : PR${price_id} 
} 

カウンター参照http://jmeter.apache.org/usermanual/component_reference.html#Counter

CSVデータセットの設定を使用して取得し、次のように使用しますcsvファイルの製品と価格のID。 参照してください:http://jmeter.apache.org/usermanual/component_reference.html#CSV_Data_Set_Config

+0

私はクライアントマシンが10,000スレッドを作成できないと考えているので上記の使用を試みました。 – Abdullah

+0

jmeter.bat(ウィンドウ)のヒープメモリを増やしてください。デフォルトでは、512MBの 'set HEAP = -Xms512m -Xmx512m'になります。または、リモートジェネレータを追加する[link] http://jmeter.apache.org/usermanual/remote-test.html –

0

を私はWhile Controllerを使用する方が簡単だろうと信じて、設定例を:

  • コントローラ、条件間:

    Counter Configuration

    :として設定${__javaScript(${counter} < 250,)}

    • Counter

    • ここにあなたの要求

コントローラは例を使用していますがUsing the While Controller in JMeterより詳細な説明のための物品およびいくつかのより多くを参照してください。

ループの数を制御するためにスレッド(仮想ユーザ)番号を使用することはお勧めできません。負荷を制御するにのみ使用する必要があります。のようにテストプランを設計する必要があります何人の仮想ユーザーが定義されていても同じシナリオを実行します。たとえば、仮想ユーザーが1人の場合は、すべての10000個の製品IDレコードを調べ、それぞれ250回ループする必要があります。 2人の仮想ユーザがいる場合 - テストが2倍速く完了するように別のレコードを取る必要があります。

関連する問題