성능테스트

HoJeong Choi·2025년 4월 3일
0

서버 성능 측정

목록 보기
1/2

성능테스트

목적

  • 시스템의 응답시간, 처리량, 자원 사용량 등을 측정해 병목 지점(Bottleneck)을 파악
  • 예상 사용자 수를 기준으로 시스템이 안정적으로 운영될 수 있는지 검증
  • 서비스 오픈 전후로 비정상적인 성능 저하를 사전에 예방

주요 유형

테스트유형설명비고
부하 테스트 (Load Testing)정상적인 부하 수준에서의 시스템 성능 측정. 예: 평균 1000명의 동시 사용자서비스 오픈시
스트레스 테스트 (Stress Testing)시스템의 한계를 넘는 부하를 주어 장애나 한계점을 파악서비스별 서버 대수 선정
지속 테스트 (Soak/Endurance Testing)장시간 동안 부하를 주고 메모리 누수나 성능 저하 여부 확인
스파이크 테스트 (Spike Testing)짧은 시간에 갑자기 부하가 증가할 때 시스템이 회복 가능한지 측정
용량 테스트 (Capacity Testing)최대 몇 명까지 수용 가능한지를 확인해 용량 계획 수립에 도움

성능테스트 단계

1. 요구사항 수집

  • SLA (Service Level Agreement) 기준 확인 (예: 응답시간 2초 이내)
  • 예상 사용자 수, 트랜잭션 종류 등 수집

2. 시나리오 설계

  • 실제 사용자 행동을 기반으로 주요 트랜잭션 정의
  • 예: 로그인 → 상품검색 → 상품상세 → 장바구니 담기

3. 테스트 환경 구성

  • 실제 운영 환경과 유사한 테스트 환경 구성
  • 모니터링 도구 설치 (예: APM, DB 모니터링 툴)

4. 성능 테스트 도구 선택 및 스크립트 작성

  • 예: JMeter, LoadRunner, Gatling, k6 등 사용
  • 사용자 수, think time, 반복 횟수 등 시뮬레이션 설정

5. 테스트 실행 및 모니터링

  • CPU, Memory, Disk, Network, GC 로그, DB 연결 수 등 실시간 모니터링

6. 분석 및 병목 구간 도출

  • 응답시간이 느린 구간, 오류 발생 위치, 자원 부족 구간 등 파악

7. 튜닝 및 재테스트

  • 코드, DB 쿼리, 인프라 설정 등 수정 후 다시 테스트

0개의 댓글