민스씨의 일취일장

nGrinder | 성능 테스트 결과 - Dynamic UserId Case - 서버 과부하 본문

Projects/MetaPay

nGrinder | 성능 테스트 결과 - Dynamic UserId Case - 서버 과부하

읻민스 2024. 8. 20. 20:55
반응형

Dynmic UserId Case에 대한 성능 테스트 결과 자료이다.

Case 3 성능 테스트 결과

Dynamic UserId Case는 동적으로 userId를 생성해, 고정 userId와 다르게 모든 요청이 다른 사용자가 접근하는 시나리오이다.

Case 2 - Dynamic UserId Case

- 고정 Vuser : 10
- 테스트 시간 : 1분
- 일정한 부하 유지 (Rampup 없음)
- 스레드 랜덤 Sleep 없음
- 동적 userID 사용

특이사항

테스트한 프로젝트는 스레드 안전하지 않았다. Case 3에서부터 프로젝트의 스레드 안정성을 높혀가며 테스트를 진행할 예정이다.

nGrinder 테스트 설정 모습이다.nGrinder 테스트 결과 모습이다.
nGrinder 테스트 설정 및 결과

 

성능 테스트 수행 시간 모습이다.
성능테스트 수행 시간
TPS 그래프 모습이다.
TPS 그래프
평균 테스트 시간 그래프 모습이다.
평균 테스트 시간 그래프
첫번째 바이트 평균 도달 시간 그래프모습이다.
첫번째 바이트 평균 도달 시간
Vuser 그래프 모습이다.
Vuser 그래프
오류 그래프 모습이다.
오류 그래프
DB Connection Pool 그래프이다.DB Connection 사용량 그래프이다.
DB Connection Pool 그래프
CPU 사용률 그래프 모습이다.평균 반응 시간 그래프모습이다.
CPU 사용률 그래프와 평균 반응 시간 그래프

Connection을 2밖에 사용하지 않으므로 DB에 접근할 수 있는 유휴 Connection은 충분하다. 하지만 CPU 사용량이 100% 부근에서 유지되는 16:37:00 부터 16:38:00 시간동안 평균 반응 시간이 지속적으로 상승했다. 이는 CPU가 처리할 수 있는 한계치의 요청이 왔다고 말할 수 있다.

평가

해결책은 당연히 여러가지가 있겠지만, CPU가 100%까지 도달했지만, DB Connection 수는 아직 넉넉함으로 서버만을 증설해 부하를 분산해 주면 될것으로 보인다.

728x90
반응형