Post

7주5일차_성능_검증을_위한_NGrinder_설정과_실습

7주5일차_성능_검증을_위한_NGrinder_설정과_실습

필기 내용

1.2 동시 요청 처리량과 병목 구간 확인

부하 테스트를 통해 시스템이 다양한 부하 조건에서 어떻게 동작하는지 평가하며, 이를 통해 아래 성능 지표를 확인합니다.

  1. TPS (Transaction Per Second):
    • 초당 처리할 수 있는 트랜잭션의 수를 나타냅니다.
    • 시스템의 처리량을 측정하며, 높은 TPS는 더 많은 동시 요청을 처리할 수 있음을 의미합니다.
    • 예: API 서버가 초당 n건의 요청을 처리할 수 있는지 확인.
  2. 응답 시간 (Response Time):
    • 요청이 서버에 전달된 순간부터 응답을 받기까지의 시간입니다.
    • 평균 응답 시간 외에도, 최대/최소 응답 시간, P95/P99와 같은 퍼센타일 값도 성능 평가에 활용됩니다.
    • 목표: 사용자가 체감하는 지연 시간이 최소화되도록 유지.
  3. 병목 구간:
    • 시스템에서 처리량이 급격히 감소하거나 응답 시간이 증가하는 특정 구간입니다.
    • 병목 현상이 발생하는 이유:
      • CPU 사용량 초과: 애플리케이션이 처리 가능한 계산량 초과.
      • DB 잠금 대기: 동시 트랜잭션이 데이터베이스 락에 의해 지연.
      • 네트워크 대역폭 한계: 네트워크 과부하로 인해 데이터 전송 지연.
    • 병목 구간 해결 방안:
      • 데이터베이스 인덱싱 최적화, 캐싱 도입, 코드 병렬화 등.

        Action Plan

수업 내용 필기 정리.

  • 부하
  • 초당 600개 처리가능한 API다!
  • save, update, delete에 대한 테스트는 지양해라.

과제 설명

  • 신규 상품은 추가하고, 기존 상품은 업데이트 한다.
  • 상품 ID란 고유값을 의미한다.
    • name이 HASH로 들어오니 name 기준으로
    • external은 별도의 테이블로 관리한다.
    • 2개의 테이블로 통합해야하는 이슈가 있을 수 있다.
    • 실패시 관리자에게 알림을 보내는 것은 로그만 처리할것.
  • 오늘 프로젝트는 수요일 금요일사이에 PR을 올려서 제출을 완료해달라.
This post is licensed under CC BY 4.0 by the author.