2017-03-16 18 views
1

私のJMeterテストプランでは、変数の値を文字列に格納し、IFコントローラブロック内の特定の値をチェックしています。この条件を導入した後、JMeterのスループットは500 req/secからわずか80 req/secに低下しました。JMeterチューニング:IFコントローラの評価に秒単位の時間がかかります

ターゲットアプリケーションに問題はありませんでしたが、IFコントローラブロックの評価に時間がかかっていたのはJMeterでした。誰もこの問題に直面していますか?私は、サンプラーでコードをラップし、リクエストを処理する前にif条件を記述して解決しました。この回避策は私の要件を満たしていますが、この条件に基づいてIFコントローラ内にJmeter子要素を追加する必要がある場合、どのように状況を解決するかはわかりません。

下記のCPUプロファイリングは、JVisualVMで実行されています。

コントローラ構成した場合: "$ {のMyString}" == "myvalue"

enter image description here

+0

これは興味深い問題であり、Rhino JSエンジンがすべてを遅くすることを示しています。環境やRhinoで誘導できるボトルネックに特有のものかもしれません。 1人のユーザーにとっても、または負荷の下でのみ、速度が遅いのですか?いくつのスレッドがありますか? (私は400スレッドで試してみましたが、コントローラが175ミリ秒の場合、平均と中央値は8ミリ秒です) –

+0

150スレッドを使用しています。 IFコントローラブロックを導入する前に、要求を500 req/secで生成していました。その後、80/secに落ちました。私は単一のスレッドのためにこれを観察していません。私はJMeter 3.0を使用しています – Selva

答えて

0

利用jexl3の代わりに、JavaScriptを、それはあなた場合には、ケース${__jexl3("${mystring}" == "myvalue")}

のJMeterによるencourageです必要/必要JavaScriptは最新の3.2 versionを使用してJavaScriptのパフォーマンスを向上させます。

JMeterは、RhinoではなくOracle Nashorn Javascriptエンジンを使用するようになりました。これにより、Javascriptの実行速度が向上します。

関連する問題