2017-12-29 85 views
0

내 API에서 WebHooks를 사용하고 있습니다. 따라서 요청이 처리되면 REST 서비스는 요청에서 보낸 콜백 URL에 대한 응답을 POST합니다.JMeter에서 비동기 콜백을 테스트하려면 어떻게해야합니까?

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

어떻게 JMeter로 스트레스 테스트를 할 수 있습니까?

답변

1

는 폴링의 문제입니다 경우는,은 webhook 구현에 따라 다음과 같은 JSR223 샘플러를 사용 할 수 있습니다 - 당신은 그냥 루프에서 콜백을 기다리는 While Controller을 사용할 수 있습니다. 순서의 전체 기간은 콜백 AA Server-Sent Event 당신이 JSR223 Sampler 또는 Java Request 샘플러와 같은에서 두 서버 측 이벤트를 기다리는 사용할 수 있습니다 SseEventSource 클래스를 제공 즉 JAX RS API 사용할 수 있습니다 오면 즉 Transaction Controller

를 사용하여 측정 할 수있다 Stress/Load-Testing of Asynchronous HTTP/REST Services with JMeter article

1

특정 포트의 연결을 청취해야합니다. 외부에서 기계를 연결할 수 있는지 확인하십시오. JMeter를 당신은 그루비 스크립트

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) 
      } 
     } 
    } 
}