JMeter로 최소 하중 테스트 수행

5056 단어 부하 시험JMeter
JMeter의 최소 하중 시험 방법을 사용합니다.
Jmeter의 고기능성은 상당한 학습 비용이 필요하기 때문에 정말 최소한의 설정을 소개해야 한다.
※ 이용자 5천명이 Token 인증을 사용한 API에 대해 별도의 Post를 할 경우
JMeter 설치
Mac에서 Brew를 사용하면 매우 간단합니다.
$ brew install jmeter
구문을 사용합니다.
$ jmeter
부팅
JMeter 설정
Thread Group 추가
Jmeter를 시작하면 기본적으로 Test Plan이 있습니다.
Thread Group을 추가하려면 마우스 오른쪽 버튼을 클릭합니다.

Thread Group을 통해 테스트를 수행할 때 스레드 수(사용자 수)와 실행 시간 등을 지정합니다.
이번에는 1000개의 라인을 가동하고 300초에 다섯 번 순환한다.
※ 5분간 5000회 방문.
※ 사실 5000스레드를 가동한 후 300초에 한 번 순환하는 것은 자연스러운 설정이지만, PC 성능 문제로 5000스레드를 가동할 수 없기 때문에 이렇게 합니다.

Ctrl+S를 사용하여 적시에 저장하는 것이 좋습니다.
POST 매개변수 추가
POST에서 각 사용자의 설정을 구현하는 방법을 나타냅니다.
쉽게 말하면 CSV는 5천명분의 Token 등을 미리 준비해 POST 때 미리 읽어 넣는다.
CSV 파일 준비
이런 느낌의 CSV 파일을 준비합니다.
한 줄은 사용자의 설정입니다.
user_token_001,user_post_data001
user_token_002,user_post_data002
user_token_003,user_post_data003
…
CSV 파일 읽기 설정 추가
Thread Group을 마우스 오른쪽 버튼으로 클릭하여 CSV 데이터 Set Config를 추가합니다.

파일의 경로와 열에 대한 매개변수(변수 이름)를 설정합니다.
이후 설정에서 변수 이름을 읽을 수 있습니다.

POST 대상 설정
API에 대한 POST 설정
HTTP Header Manager 추가
POST JSON의 의미 헤더를 설정합니다.
HTTP Header Manager를 추가하려면 Thread Group을 마우스 오른쪽 버튼으로 클릭합니다.

Content-Type:application/json 설정을 추가합니다.

HTTP Request 추가
HTTPRequest의 내용을 설정합니다.
Thread Group을 마우스 오른쪽 버튼으로 클릭하여 HTTP Request를 추가합니다.

호출할 API의 컨텐트를 설정합니다.

BodyData 태그에서 POST가 수행할 작업을 설정합니다.
CSV에서 읽을 변수 이름을 지정할 수 있습니다.

테스트 결과 청중 추가
테스트 결과를 감청하는 설정을 추가합니다.
저는 개인적으로'View Results Tree'와'View Results in Table'로 충분하다고 생각합니다.
Theread Group을 각각 마우스 오른쪽 버튼으로 클릭하여 추가합니다.

테스트 실행
JMeter 테스트에서 CUI 모드에서 권장되는 작업을 수행하고 테스트 계획을 저장한 후 GUI가 종료됩니다.
명령 예:posttest.jmx에 저장된 테스트 계획,log를 실행합니다.보고서를 보고서 폴더에 저장
※ 리포트 폴더를 미리 만들지 않으면 출력하지 않습니다.
$ jmeter -n -t post_test.jmx -l log.jtl -e -o report
실행 결과
보고서 폴더 색인.시험 결과가 안에 포함되어 있다.
View Results Tree 및 View Results in Table의 logjtl을 읽어들여도 로그를 확인할 수 있습니다.

참고 자료
https://qiita.com/gonshi_com/items/29310a419cde8d19768e
https://blackbird-blog.com/jmeter-01
https://tech-blog.rakus.co.jp/entry/2017/08/24/111332
https://tomokazu-kozuma.com/send-get-and-post-requests-with-jmeter/
https://teratail.com/questions/5175

좋은 웹페이지 즐겨찾기