기술 칼럼

WebSocket 최적화: 46초에서 즉시 시작으로

2025년 12월

문제의 발견

초기 설계에서 코인 선택 시 모든 코인에 대해 WebSocket을 구독하는 방식이었습니다. 이로 인해 시스템 시작 시 46초의 지연이 발생했습니다.

이 문제는 다음과 같은 원인으로 발생했습니다:

  • 불필요한 구독: 거래하지 않을 코인까지 모두 구독
  • 리소스 낭비: WebSocket 연결 및 메모리 사용량 증가
  • 시작 지연: 모든 구독 완료까지 대기
  • 사용자 경험 저하: 긴 대기 시간으로 인한 불편

해결 방안 설계

1. API 기반 분석으로 전환

코인 선택은 WebSocket이 아닌 API 기반 분석으로 변경했습니다.

  • 즉시 시작: API 호출은 비동기로 처리되어 시작 지연 없음
  • 필요한 데이터만: 코인 선택에 필요한 데이터만 조회
  • 캐싱 활용: API 결과를 캐싱하여 재사용

2. WebSocket은 포지션 모니터링 전용

WebSocket은 실제로 거래하는 포지션의 모니터링에만 사용하도록 변경했습니다.

  • 필요한 심볼만 구독: 열린 포지션이 있는 심볼만 구독
  • 동적 구독: 포지션 개시 시 구독, 청산 시 해제
  • 리소스 절약: 불필요한 구독 제거로 리소스 절약

3. 구독 유지 정책 (Retention Policy)

구독을 유지할 심볼과 해제할 심볼을 명확히 구분하는 정책을 수립했습니다.

  • 기본 구독: 메이저 심볼(BTCUSDT, ETHUSDT)은 항상 유지
  • 유지 조건: 열린 포지션 존재 또는 최근 거래 신호 발생 심볼
  • 정리 조건: 상기 조건이 아닌 심볼은 배치 단위로 해제
  • 배치 정리: 주기적으로 불필요한 구독을 배치 단위로 정리

구현 세부사항

구독 관리 시스템

중앙화된 구독 관리 시스템을 구축하여 효율적으로 관리합니다.

  • 구독 상태 추적: 현재 구독 중인 심볼 목록 관리
  • 우선순위 관리: 중요한 심볼에 우선순위 부여
  • 자동 정리: 불필요한 구독 자동 해제
  • 재연결 처리: 연결 끊김 시 자동 재연결 및 구독 복구

성능 모니터링

WebSocket 성능을 지속적으로 모니터링하여 최적화합니다.

  • 구독 수 추적: 현재 구독 중인 심볼 수 모니터링
  • 메모리 사용량: WebSocket 관련 메모리 사용량 추적
  • 지연 시간: 데이터 수신 지연 시간 측정
  • 에러 추적: WebSocket 에러 발생 빈도 및 원인 추적

성능 개선 결과

주요 개선 지표

  • 시작 시간: 46초 → 즉시 시작 (99% 개선)
  • WebSocket 구독 수: 약 70% 감소
  • 메모리 사용량: 불필요한 연결 제거로 감소
  • 사용자 경험: 즉시 시작으로 사용자 경험 향상

비용 절감 효과

  • 네트워크 비용: 불필요한 WebSocket 연결 제거로 네트워크 비용 절감
  • 서버 리소스: 메모리 및 CPU 사용량 감소
  • 유지보수: 구독 관리 자동화로 유지보수 비용 감소

학습 사항

1. 초기 설계의 중요성

초기 설계 단계에서 성능과 확장성을 고려하는 것이 중요합니다.

2. 리소스 최적화

필요한 리소스만 사용하도록 설계하는 것이 효율적입니다.

3. 지속적 모니터링

성능을 지속적으로 모니터링하여 개선 기회를 발견합니다.

정부 R&D 및 투자자 관점

기술적 우수성

WebSocket 최적화는 시스템 성능 개선의 기술적 우수성을 보여줍니다.

  • 성능 개선: 99% 성능 개선으로 기술적 역량 입증
  • 최적화 능력: 문제 발견 및 해결 능력
  • 지속적 개선: 성능 모니터링 및 지속적 개선

운영 효율성

성능 개선은 운영 효율성 향상으로 이어집니다.

  • 비용 절감: 리소스 사용량 감소로 비용 절감
  • 사용자 경험: 즉시 시작으로 사용자 경험 향상
  • 확장성: 더 많은 거래소 추가 시에도 성능 유지

결론

WebSocket 최적화를 통해 시작 시간을 46초에서 즉시 시작으로 개선했습니다.

이는 API 기반 분석 전환, WebSocket 포지션 모니터링 전용, 구독 유지 정책을 통해 달성한 성과입니다.

이러한 최적화는 정부 R&D 사업과 투자자 관점에서기술적 우수성, 운영 효율성, 지속적 개선 능력을 보여주는 중요한 사례입니다.