Ngrinder
- 부하테스트를 위한 플랫폼(Naver)
- 웹 애플리케이션 Controller와 자바 애플리케이션 Agent로 구성 되어 있다.
- https://github.com/naver/ngrinder
설치방법
Releases 버튼을 누르거나
빨간색으로 되어 있는 부분(가장 최신 버전)을 눌러 확인합니다.
ngrinder-controller-x.x.x.war 이걸 다운로드 받습니다.
- 특정 폴더에 복사 붙여넣기합니다.
- 위의 두 개는 없다고 가정하고.
Window의 경우
이 폴더의 위치에서 cmd를 열고
java -jar 파일 이름
별다른 설정을 하지 않았다면, (포트 변경이나 그런 부분도 명령어를 통해 바꿀 수 있습니다.)
http://locahost:8080/
으로 들어가면
- 이런 화면을 볼 수 있습니다.
- userId : admin
- Password : admin
- 기본 설정입니다.
- 바꾸셔도 됩니다.
- 이런 화면이 뜰 것이고
- 오른쪽 상단의 admin 화살표를 눌러주고
- download Agent클릭
- 아래 파일의 압축을 풀면 위의 폴더가 나타나고
Window 기준으로
- run_agent.bat 파일을 실행해줍니다.
- 상단의 Script를 눌러줍니다.
- Create a script를 클릭해줍니다.
- Script Name은 아무거나(본인이 구별할 수 있는) 이름을 설정하면 됩니다.
- URL to be tested는 테스트 하고자 하는 api의 주소를 입력하면 됩니다.
- 로컬에서 테스트할 때에는 http://localhost:8080 -> X / http://127.0.0.1:8080 을 써야 합니다.
- 전자의 경우 에러가 발생할 수도 있기 때문입니다.
- Create 클릭
- 그루비 문법으로 작성된 스크립트가 작성되고
- 이를 실행하고 status code가 200이 뜨면 다음 작업을 하러 가도 됩니다.
- 확인 방법으로는 Validate를 클릭해서 실제로 나의 애플리케이션에 요청이 가는지 확인할 수도 있습니다.
이제 부하 테스트를 하기 위한 작업이 완료되었으니
- Performance Test를 클릭하여 테스트를 진행합니다.
- Create Test를 클릭하고
- Test Name
- Agent -> 1
- Vuser per agent -> 가상 유저
- 예를 들어 10으로 설정 했다면 가상 유저가 10명이라는 뜻!
- 부하 테스트 시나리오에서 10명의 가상 유저가 동시에 애플리케이션에서 동작하고 있다는 것을 의미
- Script에는 아까 만들었던 Script를 선택합니다.
- Duration -> 얼마동안 요청을 계속 보낼지 시간을 설정합니다.
용어설명
- TPS(처리량)
- "Transactions Per Second"
- "초당 처리 가능한 트랜잭션의 수"
- TPS가 100이라면 초당 처리할 수 있는 작업이 100입니다.
- TPS 수치가 높을 수록 짧은 시간에 많은 작업을 처리할 수 있다고 합니다.
- Summary의 용어
- TPS : 평균 TPS
- Peak TPS : 최고 TPS
- Mean Test Time : 평균 테스트 시간
- Executed Tests : 테스트 실행 횟수
- Successful Tests : 테스트 성공 횟수
- Errors : 에러 횟수
- Run time : 테스트 실행 시간
'Spring관련 기술 > 서버개발' 카테고리의 다른 글
MethodArgumentTypeMismatchException (0) | 2024.08.30 |
---|---|
MissingServletRequestParameterException (0) | 2024.08.30 |
NoResourceFoundException (0) | 2024.08.30 |
멀티 모듈 관련 참고 문서 (0) | 2024.08.18 |
Forward Proxy, Reverse Proxy, Load Balancer (0) | 2024.01.08 |