-3

私はApache Jmeterが初めてです。基本的に、いくつかのthrift APIの負荷テストをしたいのですが、どこから始めればよいかわかりません。APIが2つのパラメーターを取り、Javaオブジェクトを応答として送信するのはJavaです。

どんなポインタでも非常に役に立ちます。

4

3 に答える 3

2

JMeter は特にそのためのものではありませんが、ユース ケースをサポートするのに十分な柔軟性があります。

BeanShell を使用する拡張メカニズムがあります。JMeter は、外部 jar の使用を含め、Java コードを呼び出すことができる BeanShell Sampler を提供します。

簡単な使い方:

  1. 空の JMeter プロジェクトから始める
  2. すべてのデフォルトでスレッド グループを作成します (スレッド数、ランプアップなどで遊ぶことができます)。
  3. 次のコードで BeanShell Sampler を追加します。

    Thread.sleep(2000L);
    
  4. 結果ツリーの表示リスナーを追加

  5. 保存して実行

スレッドとループの数に基づいて緑色の三角形 (または三角形) が表示され、次のような出力が表示されます。

 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

結果を分析するためにいずれかの手法を使用する場合、つまり

  • Aggregate Report、Summary Report、Graph Resuls などの JMeter 組み込みリスナー。
  • 結果を CSV ファイルに保存し、Excel または同等のもので開きます (JMeter インストールの /bin ディレクトリにある jmeter.properties ファイルを参照してください。プロパティのプレフィックスは「jmeter.save.saveservice」です。
  • JMeter Ant タスク(JMeter インストールの下の /extras フォルダーにある Test.jmx および build.xml を参照)
  • JMeter 結果分析プラグイン

リクエストの成功率、最小/最大/平均時間 (おそらく 2 秒程度)、その他の情報 (構成によって異なります) が表示されます。

特定のユースケースが想定する

  1. 重要thrift (または何でも) jar を lib/ext フォルダーの下に配置します (そうしないと、API にアクセスできなくなります)
  2. BeanShell Sampler のどこかでテストする必要があるクラスをインポートする

    yourpackage.YourClass をインポートします。

  3. BeanShell Sampler からテストしたいメソッドを呼び出す

  4. (オプション) 応答に対していくつかのアサーションを行います。すなわち

    if (yourresponse != yourexpectedresponse){
    IsSuccess=false;
    ResponseMessage= "Test Failed";
    }
    

お役に立てれば

于 2013-11-02T12:10:04.757 に答える
1

JSR223 Sampler + Groovy (jmeter/lib に groovy-all.jar を追加) を使用して、このクライアントの例を確認できます。例については、NonblockingClient コードを参照してください。

Groovy コードを最後に少なくとも次のように呼び出します。

SampleResult.setSuccessful(true/false)
SampleResult.setResponseCode("code")
SampleResult.setResponseMessage("message")

見る:

もちろん、必要な依存関係を jmeter/lib に追加してください。

于 2013-11-02T15:24:11.797 に答える