서버 성능 튜닝

서버 성능 튜닝 (Tune Server Performance)

Vault 서버의 성능을 최적화하기 위한 설정 옵션과 지침을 설명합니다. Vault에는 성능에 영향을 주는 여러 구성값이 있으며, 이를 적절히 조정하면 처리량과 지연 시간을 개선할 수 있습니다. 여기서는 서버 성능 튜닝과 관련된 개념을 소개합니다. (자세한 내용은 설정 문서 및 텔레메트리 문서 참조)

출처: 문서

본문

성능에 영향을 주는 요소

Vault 서버의 성능은 여러 요소에 의해 결정됩니다.

  • 스토리지 백엔드 — 통합 스토리지(Raft)의 디스크 속도는 쓰기 성능을 좌우합니다. 느린 디스크는 fsync 대기로 인해 지연이 커집니다.
  • 자격 증명/시크릿 환경 — 사용하는 시크릿 엔진과 인증 메서드, 동적 시크릿 생성 여부
  • 통신·재사용 연결 — 클라이언트의 HTTP 연결 재사용, TLS 설정
  • CPU/메모리 — 암호화 작업, 워크로드에 필요한 자원

성능 튜닝 옵션 예시

다음은 성능에 영향을 주는 대표적인 설정값들입니다.

  • default_lease_ttl / max_lease_ttl — 임대 TTL 설정으로, 잦은 갱신 비용에 영향
  • telemetry — 텔레메트리(사용량 측정) 설정으로, 수집 간격과 샘플링 비율을 조정할 수 있음 (usage_gauge_period 등)
  • api_addr / cluster_addr — 클러스터 통신 주소 설정으로 클러스터 오버헤드에 영향
  • 스토리지 설정 — 통합 스토리지에서 디스크 성능, 스냅샷 주기, autopilot 설정 등

성능 측정과 모니터링

  • Vault는 Prometheus 등으로 내보내는 다양한 메트릭(metrics) 를 제공합니다. 처리량(TPS), 지연(latency), 에러율, 스토리지 쓰기 지연 등을 모니터링하세요.
  • 주요 메트릭은 텔레메트리 문서와 wal.write_controller.reject_fraction(쓰기 과부하) 같은 컨트롤러 지표를 참조하세요.

프로파일링 (Profiling)

성능 병목을 찾기 위해 Vault는 프로파일링 엔드포인트를 제공합니다. vault operator debug 명령으로 성능 프로파일과 로그를 수집해 진단할 수 있습니다.

$ vault operator debug -duration=2m

권장 사항

  • 프로덕션에서는 통합 스토리지에 빠른 SSD/고성능 디스크를 사용하세요.
  • 높은 동시성 워크로드에서는 클라이언트가 HTTP keep-alive(연결 재사용)를 사용하도록 구성하세요.
  • 불필요한 기능(예: 과도한 감사 로깅, 큰 TTL)은 성능에 영향을 줄 수 있으므로 검토하세요.
  • 성능 기대치는 하드웨어 특성과 워크로드에 크게 좌우되므로, 자체 벤치마크를 수행하세요.

참고: 성능 튜닝의 구체적인 설정값과 기본값은 버전에 따라 다를 수 있으니 공식 설정 문서와 텔레메트리 문서를 확인하세요.

더 알아보기 (Learn more)