서버 성능 튜닝
서버 성능 튜닝 (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)은 성능에 영향을 줄 수 있으므로 검토하세요.
- 성능 기대치는 하드웨어 특성과 워크로드에 크게 좌우되므로, 자체 벤치마크를 수행하세요.
참고: 성능 튜닝의 구체적인 설정값과 기본값은 버전에 따라 다를 수 있으니 공식 설정 문서와 텔레메트리 문서를 확인하세요.