2017-12-29 97 views
0

私は自分のAPIでWebHooksを使用しています。したがって、要求が処理されると、RESTサービスはリクエストで送信されたコールバックURLに応答をPOSTします。JMeterで非同期コールバックをテストするにはどうすればよいですか?

Client    Server 
    |(request)   | 
    |----------------->|  
    |<-----------------|  || 
    |  (response)|  || 
    |     | _||_ Time 
    |  (callback)| \/
    |<-----------------|  \/ 
    |----------------->| 
    |(response)  | 
    |     | 

これはJMeterでどのようにストレステストすることができますか?

答えて

1

を使用することができ、それは、ポーリングの問題である場合は、ウェブフックの実装に依存 - あなただけのループでコールバックを待つためにWhile Controllerを使用することができます。シーケンスの全期間は、コールバックがAA Server-Sent EventあなたはJSR223 SamplerJava Requestサンプラーなどの中のいずれかのサーバー側のイベントを待っているために使用することができるSseEventSourceクラスを提供すなわちJAX RS API使用することができてくる場合、すなわちTransaction Controller

を用いて測定することができますStress/Load-Testing of Asynchronous HTTP/REST Services with JMeter記事

1

特定のポートの接続を受信する必要があります。あなたはマシンが外部から接続できることを確認してください。 JMeterのでは、JSR223サンプラーと、次のGroovyスクリプト

def server = new ServerSocket(8080) 
while (true) { 
    server.accept { socket -> 
     socket.withStreams { input, output -> 
      def reader = input.newReader() 
      log.info('Received request:') 
      while ((line = reader.readLine()) != null) { 
       log.info(line) 
      } 
     } 
    } 
} 
関連する問題