기타
[7차시] 실제 성능 및 부하 테스트 실습 : 애플리케이션의 한계를 찾아서
킨글
2025. 3. 23. 17:01
성능 및 부하 테스트 개요
- 성능 테스트
- 시스템이 일상적인 사용량에서 얼마나 잘 작동하는지 평가
-> 응답 시간에 초점
- 시스템이 일상적인 사용량에서 얼마나 잘 작동하는지 평가
- 성능 테스트 주요 지표
- 응답 시간 : 요청을 처리하는 데 걸리는 시간
- 처리량 : 일정 시간 동안 처리할 수 있는 요청 수
- CPU, 메모리, I/O 사용량 : 시스템 자원의 효율적인 사용 여부
- 부하 테스트
- 시스템이 최대 부하나 비정상적인 사용량에서 어떻게 동작하는지 평가
-> 처리량, 안정성에 초점
- 시스템이 최대 부하나 비정상적인 사용량에서 어떻게 동작하는지 평가
- 부하 테스트 주요 지표
- 동시 사용자 수 : 동시에 시스템을 사용하는 사용자 수
- 초당 처리 요청 수(QPS) : 시스템이 초당 처리할 수 있는 요청 수
- 에러율 : 부하가 발생할 때 오류가 발생하는 비율
- 성능 테스트의 유형
- 로드 테스트 : 시스템의 처리량을 측정
- 스트레스 테스트 : 시스템의 한계점을 찾아내기 위한 테스트
- 스파이크 테스트 : 짧은 시간 내에 갑작스러운 트래픽 증가 시 성능 평가
- 내구성 테스트 : 오랜 시간 동안 지속적인 부하에서의 성능을 측정
- 부하 테스트 시나리오 설계
- 동시 사용자 수 설정
- 트래픽 패턴 정의(일정, 급증, 급감 등)
- 장기 부하에 대한 안정성 평가
- 다양한 사용자 시나리오를 반영하여 현실적인 테스트 환경 구성
부하 테스트 시나리오 설계 및 전략
- 테스트 목표 설정
- 응답 시간 : 요청에 대한 응답 시간이 어느 정도여야 하는지
- 처리량 : 시스템이 초당 처리해야 하는 요청 수
- 동시 사용자 수 : 몇 명의 사용자가 동시에 시스템을 사용할 수 있는지
- 에러율 : 부하 중 발생 가능한 오류 허용 범위
부하 테스트 결과 분석
- CPU 병목 : 멀티스레딩 최적화 및 비동기 프로세싱 도입
- 메모리 병목 : GC 튜닝 및 객체 할당 최소화
- 디스크 I/O 병목 : SSD 업그레이드 또는 I/O 최적화
- 네트워크 병목 : CDN 사용 및 부하 분산 적