ngrinder, jmeter를 사용해서 애플리케이션 Performance Test를 하게 됩니다.
Performance Test는 특정 상황에서 애플리케이션이 어떻게 동작(Latency, 자원 사용률 변화)하는지 확인하는 것인데요.
Performance Test를 좀 더 체계적으로 하려면 간단히라도 그 종류와 종류별 목적의 차이를 알 필요가 있습니다.
Performance Test는 Load Test, Stress Test, Sprike Test 등 여러 가지가 있지만 대표적인 것은 Load Test, Stress Test인데요.
둘 다 Performance Test의 한 종류로서 특정 부하에서 시스템의 동작을 확인하는 공통점이 있지만 테스트 목적에서 차이가 있습니다.
Load Test
테스트 목적
- 시스템이 특정 부하를 견딜 수 있는지 확인
예시
- 서비스 오픈 전 예상 사용자 수에 맞추어 테스트
- 이벤트 전 예상 트래픽에 맞추어 테스트
Stress Test
테스트 목적
- 시스템의 한계를 확인하여 효과적인 자원 운영 정책(Instance Type, Scaling 정책 등) 수립
- 트래픽 증가 또는 지속되는 부하에 따른 병목 지점을 미리 확인하여 서비스 안정성 확보
예시
- 트래픽을 점차 높여가며 시스템이 견디지 못하는 수준까지 테스트
- 시스템이 버거운 트래픽을 오랜시간(e.g. 사람이 상황 인지하고 조치를 취하는 시간, Auto Scaling 이 있다면 새로운 인스턴스 추가까지 시간 이상) 지속
관련해서는 아래 글에서 너무 잘 정리해주어서 많이 참고 하였는데요. 관심 있으신 분은 꼭 읽어보시기를 추천드립니다.
https://www.blazemeter.com/blog/performance-testing-vs-load-testing-vs-stress-testing
Performance Testing vs. Load Testing vs. Stress Testing | Blazemeter by Perforce
This blog post discusses the differences between performance testing, load testing, and stress testing, and when to use each test type.
www.blazemeter.com
'제안&정리' 카테고리의 다른 글
[JAVA] Integer 변수를 null 안전하게 0과 비교하기 (0) | 2023.03.13 |
---|---|
이벤트 스트림 처리기 시간 처리 방법 (스트림 시간 vs 워터마크) (0) | 2023.02.27 |
[AWS] EB 설정 팁 (0) | 2023.01.30 |
[JAVA] Optional map (0) | 2023.01.15 |
[JAVA] enum find O(n) -> O(1) (0) | 2022.12.26 |