Skip to content

[INFRA] 성능 및 품질 검증 #25

Description

@riiach

📌 작업 내용

KOK 서비스의 성능, 안정성, 데이터 정합성 및 코드 품질을 검증하기 위한 테스트 환경을 구축하고 결과를 수집한다.

🎯 목표

  • API 성능 검증
  • Redis 성능 개선 효과 검증
  • Kafka 이벤트 처리 검증
  • 동시성 및 정합성 검증
  • 데이터베이스 성능 최적화 검증
  • 테스트 품질 측정
  • 포트폴리오 및 면접용 자료 확보

✅ API 성능 테스트

테스트 환경 구축

  • k6 설치
  • 성능 테스트 디렉토리 구성
  • 테스트 데이터 준비
  • 테스트 시나리오 작성

대상 API

  • 로그인 API
  • 회원가입 API
  • 매장 조회 API
  • 예약 생성 API
  • 웨이팅 등록 API
  • 웨이팅 순번 조회 API
  • 리뷰 작성 API
  • 결제 API

측정 지표

  • Average Response Time
  • P95 Response Time
  • P99 Response Time
  • RPS
  • TPS
  • Error Rate
  • Throughput

결과 분석

  • 병목 API 분석
  • 응답 속도 개선 포인트 도출
  • 테스트 결과 문서화

✅ Redis 성능 검증

웨이팅 서비스

  • Redis Sorted Set 적용
  • 순번 조회 성능 측정
  • 대기열 등록 성능 측정

성능 비교

  • Redis 적용 전 성능 측정
  • Redis 적용 후 성능 측정
  • 캐시 적중률 확인
  • DB 부하 감소 효과 측정

결과 정리

  • 응답속도 비교 자료 작성
  • 성능 개선 수치 정리

✅ Kafka 이벤트 처리 검증

이벤트 흐름 테스트

  • 예약 생성 이벤트 발행
  • 결제 완료 이벤트 발행
  • 알림 이벤트 소비 확인

검증 항목

  • Producer 정상 동작 확인
  • Consumer 정상 동작 확인
  • Consumer Lag 확인
  • 장애 발생 시 재처리 확인

결과 정리

  • Topic 상태 확인
  • Consumer Group 상태 확인
  • 이벤트 처리 로그 정리

✅ 동시성 및 정합성 검증

예약 서비스

  • 동일 시간대 예약 동시 요청 테스트
  • 중복 예약 방지 검증
  • 트랜잭션 동작 확인

웨이팅 서비스

  • 동시 웨이팅 등록 테스트
  • 순번 중복 발생 여부 확인
  • 정합성 검증

결제 서비스

  • 중복 결제 방지 테스트
  • 멱등성 검증

결과 정리

  • 동시성 테스트 결과 문서화
  • 정합성 검증 결과 정리

✅ 데이터베이스 성능 검증

주요 API 분석

  • 예약 조회 API
  • 웨이팅 조회 API
  • 매장 조회 API
  • 리뷰 조회 API

성능 최적화

  • EXPLAIN ANALYZE 실행
  • 인덱스 적용 전 측정
  • 인덱스 적용 후 측정
  • N+1 문제 점검
  • Fetch Join 최적화 검증

결과 정리

  • 쿼리 성능 비교 자료 작성
  • 최적화 결과 문서화

✅ 테스트 코드 품질 검증

단위 테스트

  • Service Layer 테스트 작성
  • Domain 테스트 작성

통합 테스트

  • API Integration Test 작성
  • Repository Test 작성

품질 측정

  • JaCoCo 적용
  • 테스트 커버리지 측정
  • 주요 도메인 커버리지 확보

결과 정리

  • 테스트 리포트 생성
  • 커버리지 리포트 생성

✅ 포트폴리오 자료 수집

캡처 대상

  • k6 결과
  • Redis 성능 비교
  • Kafka UI
  • Consumer Lag
  • JaCoCo 리포트
  • EXPLAIN ANALYZE 결과
  • 동시성 테스트 결과

📋 완료 조건

  • 주요 API 성능 측정 완료
  • Redis 성능 개선 효과 검증 완료
  • Kafka 이벤트 처리 검증 완료
  • 동시성 검증 완료
  • DB 최적화 검증 완료
  • 테스트 커버리지 확보 완료
  • 면접용 자료 정리 완료

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationinfra환경 세팅

    Type

    Fields

    No fields configured for Task.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions