피드로 돌아가기
How I Fixed My AI Chatbot's Laggy Responses with Server-Sent Events
Dev.toDev.to
Backend

SSE 도입 후 15~30초 대기 시간을 SSE 스트리밍으로 해결하여 이탈률 50% 개선

How I Fixed My AI Chatbot's Laggy Responses with Server-Sent Events

zhongqiyue2026년 6월 14일6intermediate

Context

기존 Fetch API 기반의 JSON 응답 방식으로 인한 AI 토큰 생성 완료 시까지의 긴 대기 시간 발생. HTTP 연결 유지 시간이 15~30초에 달하며 사용자 경험 저하 및 높은 이탈률을 초래한 아키텍처적 한계.

Technical Solution

  • 서버측 Content-Type을 text/event-stream으로 설정하여 단방향 실시간 데이터 전송 구조 설계
  • AI API의 응답을 ReadableStream으로 수신하여 토큰 단위로 즉시 flush 하는 프록시 로직 구현
  • WebSockets 대비 낮은 오버헤드로 연결 상태 관리 및 핸드셰이크 복잡성을 제거한 경량 아키텍처 채택
  • Fetch API의 response.body.getReader()를 활용해 POST 요청에서도 스트리밍 데이터를 처리하는 프론트엔드 파이프라인 구축
  • 데이터 전송 완료 시 [DONE] 특수 토큰을 정의하여 스트림 종료 시점을 명시적으로 제어

1. AI 챗봇 구현 시 전체 응답 대기 시간(TTFB)보다 첫 토큰 도달 시간(TTFT) 최적화 여부 검토

2. HTTP 기반 스트리밍 구현 시 브라우저 호환성을 위한 Polyfill 적용 및 재연결 로직(Exponential Backoff) 설계 필요

3. 대규모 트래픽 환경에서 SSE의 커넥션 유지 비용과 서버 리소스 점유율 분석

원문 읽기