콘텐츠로 이동

SLA·응답 시간 설계

SLA·응답 시간 보장 설계 팁

대량 트래픽을 받는 서비스에서 바른을 안정적으로 쓰려면, 응답 시간과 처리량을 설계 단계에서 함께 고려해야 합니다. 바른은 실행 환경(executionProvider), 배치 호출, 캐시, 동시성 같은 여러 지렛대를 제공합니다.

이 문서는 응답 시간을 예측 가능하게 만들고 처리량을 끌어올리는 설계 팁을 정리합니다.

응답 시간을 좌우하는 요소

요소 설명 지렛대
실행 환경 CPU/GPU 추론 선택 executionProvider(cpu/gpu)
호출 단위 단건 vs 배치 AnalyzeSyntaxList
동시성 병렬 요청 처리 gRPC 멀티플렉싱
반복 입력 같은 입력 재계산 회피 애플리케이션 캐시
문장 길이 분절은 80자 단위 처리 입력 정제

실행 환경 선택

바른 설치본은 설정에서 실행 프로바이더를 고를 수 있습니다. executionProvidercpu 또는 gpu로 지정해 추론 환경을 맞춥니다.

{
  "executionProvider": "gpu"
}
  • 처리량이 크고 지연이 중요하면 GPU 환경을 검토하세요.
  • 추론 가속기(EP)가 실패하면 바른은 자동으로 CPU로 폴백해 가용성을 지킵니다.

배치로 왕복을 줄인다

문장마다 호출하는 대신 AnalyzeSyntaxList로 여러 문장을 한 요청에 묶으면, 네트워크 왕복이 줄어 전체 지연이 낮아집니다. 배치 크기는 메모리·지연을 보며 적당한 값으로 실측해 정하세요.

graph TD
  L[지연 목표] --> B[배치 크기 조정]
  T[처리량 목표] --> C[동시 요청 수 조정]
  B --> M[실측·모니터링]
  C --> M
  M --> A[설정 재조정]

동시성과 캐시

  • 동시성: 여러 배치를 병렬로 보내면 서버 측 멀티플렉싱으로 처리량이 올라갑니다. 다만 과도한 동시 요청은 지연을 키울 수 있으니 실측으로 상한을 정하세요.
  • 캐시: 같은 입력이 자주 반복되면, 애플리케이션 단에서 분석 결과를 캐시해 중복 호출을 줄이는 것이 효과적입니다.
  • 클라우드 자동 확장: 클라우드(api.bareun.ai:443)는 사용량에 따라 용량이 자동으로 조절되므로, 트래픽 급증에도 별도 조치 없이 흡수됩니다.

목표를 먼저 정하고 실측하세요

"p95 지연 X ms 이하", "초당 Y 문장 이상" 같은 목표를 먼저 정하고, 배치 크기·동시 요청 수·실행 환경을 바꿔가며 실측하세요. 바른은 99.6%(품사 태깅)·99.7%(어절 분리/복원)의 정확도를 유지하므로, 튜닝은 정확도가 아니라 처리량·지연 균형에 집중하시면 됩니다.

자주 묻는 질문

Q. 응답 시간을 줄이려면 무엇부터 손대야 하나요?

먼저 실행 환경(executionProvider)이 부하에 맞는지 확인하고, 단건 호출을 AnalyzeSyntaxList 배치로 묶어 왕복을 줄이세요. 그다음 동시 요청 수와 캐시를 조정합니다.

Q. 추론 가속기가 실패하면 서비스가 멈추나요?

아닙니다. 실행 프로바이더(EP)가 실패하면 바른은 자동으로 CPU로 폴백해 가용성을 유지합니다.

Q. 트래픽이 갑자기 늘면 클라우드는 어떻게 대응하나요?

클라우드 서비스는 사용량에 따라 용량이 자동으로 조절되도록 구성되어 있어, 트래픽 급증에도 별도 조치 없이 요청을 처리합니다.

도움이 되었나요?