18

CSV Data Set Config 要素で読み取っている URL の非常に大きな CSV ファイル (8000 以上の項目) があります。HTTP リクエスト サンプラーのパスを設定し、while コントローラーで反復処理しています。

これは問題ありませんが、各ユーザー (スレッド) が CSV URL リストからランダムな URL を選択することを除いては問題ありません。私が望まないのは、各スレッドが CSV アイテムを順番に使用することです。

複数の HTTP リクエスト サンプラーを備えたランダム オーダー コントローラーを使用してこれを実現できましたが、8000 以上の HTTP サンプラーが実際に jmeter を使用不能な状態に陥らせました。これが、HTTP サンプラーの URL を CSV ファイルに入れる理由です。ただし、CSV ファイル データでランダム オーダー コントローラーを使用できるようには見えません。では、スレッドごとにランダムな CSV データ項目を選択するにはどうすればよいでしょうか?

4

7 に答える 7

9

これを達成する別の方法があります。

  • 別のスレッド グループを作成する
  • あなたが達成したいものに応じて:
    • (ランダムな) ループ カウントを追加します。これにより、作業を行うスレッド グループの開始オフセットが設定されます。
    • ループ カウントまたはフォーエバーとタイマーを追加し、他のスレッド グループの実行中にループさせます。このスレッド グループは「疑似」ランダム行を読み取ります

実際にはランダムではありません。ファイルは引き続き順次読み取られますが、作業スレッドはファイル内でジャンプします。それは私のために働いた;-)

于 2014-06-25T15:29:47.803 に答える
3

csvデータ読み込み時のランダム選択機能はありません。その理由は、これを行うには最初にファイル全体をメモリに読み込む必要があり、それは負荷テスト ツール (任意の負荷テスト ツール) では悪い考えだからです。

他の商用ツールは、データを自動的に再処理することでこの問題を解決します。JMeter では、任意のフィールドを使用してデータを並べ替えるだけで、同じことを手動で実現できます。姓などで並べ替えると、結果は実質的にランダムな分布になります。

ノート。デフォルトAll Threadsが CSV Data Set Config に設定されていることを確認すると、データは JMeter プロセスの範囲内で一意になります。

于 2013-09-22T18:01:32.470 に答える
0

これが機能するかどうかはわかりませんが、とにかく提案します。

URL を 100 個の異なる CSV ファイルに分割してみませんか。次に、各スレッドで乱数を生成し、その番号を使用して __CSVRead 関数を使用して読み取る CSV ファイルを識別します。

CSVRead">http://jmeter.apache.org/usermanual/functions.html#_CSVRead

__CSVRead 関数が毎回ファイルを再度開くか、スレッド間で同じファイルハンドルを共有するかどうかはわかりません。

あなたはそれを試してみたいかもしれません。調査結果を共有してください。

于 2013-08-28T12:59:11.427 に答える