Stock Pipeline 성능 테스트 결과 보고서

테스트 개요

Stock Pipeline 시스템의 전체적인 성능과 안정성을 검증하고, 병목지점을 식별하여 최적화 방안을 도출합니다.

테스트 범위

  • Kafka 메시지 처리 성능
  • REST API 응답 성능
  • PostgreSQL 데이터베이스 쿼리 성능
  • 시스템 리소스 사용량 분석

Kafka 부하테스트 결과

주요 성능 지표

지표결과
메시지 전송 속도3-5ms (평균 4.1ms)
처리량 (TPS)~120 messages/sec
최대 지연시간9ms (NVDA 종목)
안정성100% 성공률

종목별 상세 성능

종목요청수평균 응답시간최소최대TPS
AAPL54.53ms2.89ms5.25ms0.042
GOOGL63.96ms2.24ms7.74ms0.050
TSLA83.49ms2.41ms5.48ms0.067
NVDA64.36ms2.43ms9.01ms0.050
AMZN74.07ms2.37ms7.78ms0.059

분석

  • 모든 종목에서 안정적인 응답시간 유지
  • CRM 종목에서 1006ms 극단적 지연 1회 발생 (일회성 이슈)
  • 타임아웃 설정 최적화 필요

API 부하테스트 결과

전체 지표

지표결과
총 요청수585개
성공률70.8% (414건)
실패율29.2% (171건)
평균 응답시간33.9ms
최대 TPS4.91 req/sec

Stock Data API (Yahoo Finance) 종목별 성능

종목성공률평균 응답시간최대 응답시간
AAPL100%290ms397ms
GOOGL80%259ms457ms
AMZN89%294ms487ms
TSLA73%271ms530ms
META90%282ms469ms

응답시간 분포

구간비율
0-100ms5.2%
100-300ms68.4% ✅
300-500ms21.7% ⚠️
500ms+4.7% ❌

오류 원인 분석

원인비율
API Rate Limit 초과45%
네트워크 타임아웃30%
서버 내부 오류15%
인증 실패10%

오류 피크 시간대: 오후 8-9시 (미국 시장 개장 전)


PostgreSQL 쿼리 성능

Heavy Query 성능 (기술적 지표 복합 계산)

종목성공률평균 응답시간데이터 크기
NVDA100%421ms47.0KB
CRM100%474ms34.2KB
AAPL67%381ms32.7KB
GOOGL50%313ms5.6KB
META33%344ms11.8KB

분석: 단일 종목 쿼리 응답은 허용 범위(300-500ms)이나, 복잡한 쿼리의 성공률이 50-67%로 낮아 인덱스 최적화 필요

-- 권장 인덱스 추가
CREATE INDEX idx_stock_symbol_date ON stock_data(symbol, date DESC);
CREATE INDEX idx_technical_indicators ON technical_indicators(symbol, calculation_date);

시스템 리소스 사용량

상태CPU메모리
정상 운영20-30%5-6GB
부하 테스트50-62%8-10GB
최대 피크61.8%9.82GB

현재 용량으로 2-3배 부하까지 처리 가능한 여유 확보


성능 최적화 권장사항

즉시 개선 (High Priority)

API 오류율 개선 (현재 29.2% → 목표 5% 이하)

  • Circuit Breaker 패턴 적용
  • Retry 정책 최적화 (지수 백오프)
  • API Rate Limit 모니터링 강화

Kafka 안정성 강화

request.timeout.ms: 30000 → 15000
retry.backoff.ms: 100 → 200
max.in.flight.requests.per.connection: 5 → 3

중장기 개선 (Medium Priority)

Redis 캐싱 TTL 전략

데이터 유형TTL
API 응답 캐시5분
기술적 지표1시간
종목 기본정보24시간