본문 바로가기

테스트툴/JMeter

JMeter Timer

컴퓨터는 반복 작업을 빠르게 수행하지만

실제 사용자들은 중간에 서버에 내용을 보내지 않고 대기하는 시간이 발생합니다

이 시간을 Thinking Time이라 합니다

Test Plan을 세울 때 Thinking Time까지 고려해 주면 더 정교한 Test Plan을 완성할 수 있습니다

 

실습은

 

Apache JMeter

이 책은 Apache JMeter를 이용해서 웹 서비스의 성능을 테스트하려는 시스템 운영자와 웹 개발자를 위한 책으로, 자바와 웹 서비스 인프라, 웹 프로토콜에 대한 기초적인 지식을 가지고 있다면 쉽게

book.naver.com

위 책을 활용하였습니다


Constant Timer

설정된 일정 시간을 지연해주는 기능을 합니다

 

Constant Timer를 활용하는 간단한 예시입니다

Thread Group을 추가합니다

Simple Controller 추가 후, Constant Timer를 추가합니다

Constant Timer에서 Thread Delay를 2000으로 설정합니다

여기서 Thread Delay는 1/1000초 단위이므로 2000으로 설정한다면 2초를 의미합니다

Constant Timer1을 추가한 후 http Sampler를 5개를 추가합니다

그리고 두번째 Sampler에 Constant Timer2를 추가합니다

이 경우,

Constant Timer1는 같은 레벨과 하위 레벨에게 영향을 주므로

random1부터 5까지 지연시간이 발생합니다

반면 Constant Timer2는 random2의 자식 노드이므로 부모 노드인 random2에만 지연시간이 발생합니다

이 테스트 결과

2초 휴식 - random1 - 2(constant1)+2초(contant2) 휴식 - random2 - 2초 휴식 - random3

- 2초 휴식 - random4 - 2초 휴식 - random5

위와 같은 결과를 가집니다


Contant Throughput Timer

처리량을 일정하게 유지하기 위해 지연시키는 Timer입니다

만약에 응답시간이 10ms인 Sampler를 1초에 1번씩 실행되게 하고 싶다면 한 번 실행하고 900ms를 쉬면 됩니다

그런데 응답시간이 가변적이라면, Contant Throughput Timer를 사용하여 처리량을 일정하게 유지시키도록 합니다

 

Contant Throughput Timer의 간단한 예시입니다

Thread Group을 추가하고 Loop Count를 10으로 설정합니다

Simple Controller 추가 후, Contant Throughput Timer를 추가합니다

Target Throughput은 60.0으로 설정합니다

Target Throughput은 60일 경우, 초당 1번 요청한다는 의미입니다

결과는

TOTAL Throughput이 1.0/sec인 것을 확인할 수 있습니다

'테스트툴 > JMeter' 카테고리의 다른 글

JMeter HTTP(S) Test Script Recorder  (0) 2021.05.01
JMeter Assertions  (0) 2021.04.28
JMeter Random, Random Order, Interleave Controller  (0) 2021.04.26
JMeter Logic Controller  (0) 2021.04.13
JMeter Regular Expression 설정 레퍼런스  (0) 2021.04.09