-
Notifications
You must be signed in to change notification settings - Fork 6
Apache JMeter 가이드
톰캣 설정 중 아래 값을 적절하게 설정하고, 해당 값으로 설정한 이유를 공유
- threads max
- max connections
- accept count
$ brew update
$ brew install jmeter
option → plugin manager
- 3Basic Graphs
- Custom Thread Groups 설치
- https://jmeter-plugins.org/get/ 플러그인 다운
-
/lib/ext
위치에 복사 - 재시작
Test Plan 우클릭 → Threads → Thread Group
- Number of Threads: 모든 Thread 개수
- Ramp-Up Period: 모든 Thread가 생성되는데 까지 걸리는 시간
- Loop Count: 한 Thread당 모두 몇 번의 테스트를 수행하는지 정의
ex: Number of Threads가 180개이고 Ramp-Up Period가 2이면 2초안에 180개의 스레드가 모두 생성된다.
thread group 우클릭 → Add → Sampler → HTTP Request
(+) 헤더값 추가하기
HTTP Request 우클릭 → Add → Config Element → HTTP Header Manager
thread group 우클릭 → Add → Listener → 원하는 형태의 결과창 선택
ex: jp@gc - Transactions per Second
는 TPS를 그래프 형태로 보여준다
Tomcat의 아래 설정들을 바꿔 서버를 재시작한다.
- max-connections= 서버가 요청을 처리할 수 있는 Connection의 수
- accept-count=추가적인 Connection을 대기
- threads.max=동시 요청을 처리할 수 있는 Thread의 개수
서버 재시작하는 명령어
$ lsof -i :808
$ kill -9 {PID}
$ java -Duser.timezone=Asia/Seoul -jar -Dspring.profiles.active=dev -Dserver.tomcat.max-
connections=10 -Dserver.tomcat.accept-count=5 -Dserver.tomcat.threads.max=4 pickpick-0.0.1-SNAPSHOT.jar > /dev/null 2>&
1 &
-
top
: user cpu, kernel cpu를 확인하고 DB, WAS, WS 중 어느 지점에서 CPU를 많이 사용하고 있는지 점검 (top 확인 방법)
$ top
-
vmstat
: CPU, Memory, Swap, Io, System call 등의 지표를 확인 (지표보는법)
$ vmstat 1 #1초마다 지표 확인
start 버튼을 통해 부하 테스트를 시작한다.
부하 테스트 시작 버튼을 누르면 우측의 정지 버튼이 활성화된다.
새로운 기술을 도입하며 고민한 포인트는 아래와 같다.
- 참고할 자료가 많다.
- 러닝 커브가 너무 높지 않으면서도 부하 툴에 대한 학습을 할 수 있다.
- 개인 PC에서 테스트해보기 부담스럽지 않다.
- 무료로 사용 가능하다.
위 조건을 검토한 결과 ngrinder
, jmeter
, locust
가 후보로 올랐다.
현재 프로젝트 규모 상으로는 소규모 프로젝트에 적합하다는 locust
가 베스트 같았지만 학습을 위해 ngrinder
나 jmeter
를 사용해보고 싶다는 의견이 있었다.
UI가 예쁘지만 다소 무거운 ngrinder
보다는 간단 심플해도 봐야할 지표는 다 존재하는 jmeter
를 선택하게 되었다.
jmeter의 tps 그래프만으로는 어떤 것을 어떻게 개선해야할지 감이 안잡혔음
→ 모니터링에서 추가적으로 도움되는 정보를 얻을 수 있음
→ 원래 목적에 비해 과정이 너무 복잡해지고 필요성을 크게 느끼지 못해서 쓰지 않기로 함