私はApache Jmeterが初めてです。基本的に、いくつかのthrift APIの負荷テストをしたいのですが、どこから始めればよいかわかりません。APIが2つのパラメーターを取り、Javaオブジェクトを応答として送信するのはJavaです。
どんなポインタでも非常に役に立ちます。
私はApache Jmeterが初めてです。基本的に、いくつかのthrift APIの負荷テストをしたいのですが、どこから始めればよいかわかりません。APIが2つのパラメーターを取り、Javaオブジェクトを応答として送信するのはJavaです。
どんなポインタでも非常に役に立ちます。
JMeter は特にそのためのものではありませんが、ユース ケースをサポートするのに十分な柔軟性があります。
BeanShell を使用する拡張メカニズムがあります。JMeter は、外部 jar の使用を含め、Java コードを呼び出すことができる BeanShell Sampler を提供します。
簡単な使い方:
次のコードで BeanShell Sampler を追加します。
Thread.sleep(2000L);
結果ツリーの表示リスナーを追加
スレッドとループの数に基づいて緑色の三角形 (または三角形) が表示され、次のような出力が表示されます。
Thread Name: Thread Group 1-1
Sample Start: 2013-11-02 14:48:11 GMT+03:00
Load time: 5030
Latency: 0
Size in bytes: 0
Headers size in bytes: 0
Body size in bytes: 0
Sample Count: 1
Error Count: 0
Response code: 200
Response message: OK
結果を分析するためにいずれかの手法を使用する場合、つまり
リクエストの成功率、最小/最大/平均時間 (おそらく 2 秒程度)、その他の情報 (構成によって異なります) が表示されます。
特定のユースケースが想定する
BeanShell Sampler のどこかでテストする必要があるクラスをインポートする
yourpackage.YourClass をインポートします。
BeanShell Sampler からテストしたいメソッドを呼び出す
(オプション) 応答に対していくつかのアサーションを行います。すなわち
if (yourresponse != yourexpectedresponse){
IsSuccess=false;
ResponseMessage= "Test Failed";
}
お役に立てれば
JSR223 Sampler + Groovy (jmeter/lib に groovy-all.jar を追加) を使用して、このクライアントの例を確認できます。例については、NonblockingClient コードを参照してください。
Groovy コードを最後に少なくとも次のように呼び出します。
SampleResult.setSuccessful(true/false)
SampleResult.setResponseCode("code")
SampleResult.setResponseMessage("message")
見る:
もちろん、必要な依存関係を jmeter/lib に追加してください。