내가 보려고 만든 성능테스트
[ 설치 링크 ]
https://jmeter.apache.org/download_jmeter.cgi
binary의 zip 파일을 설치하고 bin 폴더 내 jmeter.bat 파일 실행
👉 Test Plan - Add - Threads - Treads Group
예를 들어 100명 / 10초로 설정했을 경우, 초당 10명을 추가하여 부하를 준다.

하위 HTTP Request 샘플러에 대한 기본 설정값 추가.
👉 Test Plan - Add - Config Element - HTTP Request Default

👉 Test Plan - Add - Listener - View Results Tree / Summary Report / Aggregate Report
요청별 결과 상세 정보를 확인.
요청에 대한 결과가 요약된 보고서.
- #Samples
요청 수.
- Average
전체 요청의 응답시간을 합산하고
이를 요청 수로 나눈 평균값
- Min / Max
최소 / 최대 응답 시간
Max가 크다면 확인 필요
- Std. Dev.
표준편차로 높을수록 성능이 불안전함을 의미
- Error %
에러발생율
View Results Tree에서 에러 확인 가능
- Throughput
초당 처리량(TPS)
- Received / Sent KB
서버로 초당 수신 / 송신된 데이터
- Avg. Bytes
응답 데이터의 평균 크기
너무 크다면 불필요한 데이터가 있는지 확인
응답시간의 분포를 확인할 수 있는 집계 보고서
하단 항목 외의 항목들은 요약보고서와 동일.
- Median
응답시간 중앙값으로 평균적인 성능 평가
응답 시간이 흩어져 있으면 Std. Dev.가 높게 나옴
- 90% / 95% / 99% Line
요청의 n%가 해당 시간 안으로 응답하고, 나머지는 초과하여 응답
즉, 높을수록 좋지 않음
로그인을 예시로 시나리오 생성 시작
Excel에서 유저의 아이디와 비밀번호를 입력하고 csv 파일로 저장한다.
여기서는 1행에 변수명을 작성해 주었다.

👉 Test Plan - Add - Config Element - CSV Data Set Config
Filename에 csv 파일을 등록하고
Variable Names에 변수명을 입력한다. (빈칸 주의)
앞서 1행에 데이터값이 아닌 변수명을 적어주었기에 Ignore first line을 True로 설정한다.

👉 Treads Group - Add - Sampler - HTTP Request
변수명을 사용하고자 한다면 ${변수명}으로 사용이 가능하다.
하단의 탭에서 요청 방법에 따라 parameter, body, header에 값을 넣어준다.
parameter에서 데이터를 추가할 땐 하단의 버튼(Add)를 눌러 추가가 가능하다.

쿠키에 토큰을 저장
👉 Treads Group - Add - Config Element - HTTP Cookie Manager
로그인 성공시 자동으로 쿠키가 파싱된다.
별도로 추가가 필요하다면 하단 Add 버튼을 눌러 추가할 것.
LocalStorage에 토큰을 저장?
👉 Treads Group - Add - Config Element - HTTP Header Manager
요청 헤더에 넣어줄 값을 하단 Add 버튼을 눌러 추가해준다.
👉 로그인 Request - Add - Post Processors - Regular Expression Extractor
아래와 같이 작성하여 로그인 응답 헤더에서 토큰을 추출하고 모든 요청에 토큰값을 넣을 수 있도록 한다.
위에서 사용된 변수명과 동일하게 넣어줄 것.
마지막으로 초록색의 Start 버튼을 눌러 실행하고 결과를 확인하면 끝.