본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 24. 04:27

Veltrix 설정에 관한 불행한 진실

요약

Veltrix 시스템의 지연 시간 문제를 해결하기 위해 기존 Elasticsearch 기반 인덱싱에서 RediSearch를 활용한 인메모리 인덱싱 방식으로 전환한 사례를 다룹니다. 이를 통해 95퍼센타일 지연 시간을 70% 감소시키고 시스템 안정성을 확보했습니다.

핵심 포인트

  • 단순 평균 지연 시간보다 95퍼센타일 지연 시간 관리가 중요함
  • RediSearch 기반 인메모리 인덱싱으로 인덱스 재구축 문제 해결
  • 리전 인식 설정을 통한 수평적 확장 및 성능 최적화 달성
  • 검색 재시도율 25% 감소 및 CPU 사용률 절감 효과

우리가 실제로 해결하고 있었던 문제
우리는 지연 시간 급증(latency spikes)이라는 근본적인 문제를 해결하지 않고 Veltrix 설정을 최적화할 수 있다는 오해와 싸우고 있었습니다. 운영자들은 몇 시간 동안 설정을 조정했지만, 시스템은 여전히 병목 현상(bottlenecks)을 겪고 있었습니다. 진짜 과제는 검색 기능을 작동시키는 것 자체가 아니라, 사용자 수가 증가하더라도 어떻게 신뢰할 수 있고 확장 가능한 성능을 달성하느냐였습니다. 지표(metrics)는 다른 이야기를 하고 있었습니다. 평균 지연 시간(latency average)은 실제로 개선되었지만, 상당수의 사용자 그룹에서는 여전히 치명적인 지연을 경험하고 있었습니다.

우리가 처음 시도했던 것 (그리고 실패한 이유)
처음에는 기존의 인덱싱(indexing) 방식을 도입하는 쉬운 길을 택했습니다. 우리는 기존 Elasticsearch 클러스터 위에 비용이 많이 드는 클라우드 기반 인덱스를 구축했습니다. 인덱싱은 빨랐지만, 운영자들은 끊임없는 인덱스 재구축(index rebuilds)을 따라가는 데 어려움을 겪었습니다. 이러한 재구축은 인덱스가 불일치할 때마다 시스템이 휘청거리게 만들었습니다. 결국, 우리의 지연 시간은 다시 서서히 상승하기 시작했습니다. 다른 솔루션들도 시도해 보았지만, 일관되지 않은 검색 결과라는 근본적인 문제를 해결하는 것은 아무것도 없었습니다.

아키텍처 결정
우리는 RediSearch를 사용하는 인메모리 인덱싱(in-memory indexing) 방식으로 전환하기로 결정했습니다. 이를 통해 인덱스 재구축을 피하고 대신 Redis의 성능을 활용하여 캐시 계층(cache layer)을 처리할 수 있었습니다. 하지만 이 솔루션에는 높은 메모리 사용량, 쓰기 작업에 대한 지연 시간 증가, 그리고 제3자 솔루션에 대한 의존성이라는 자체적인 과제들이 따랐습니다. 또한, 사용자들이 필요한 것을 빠르게 찾을 수 있도록 단일 대형 클러스터를 수평적으로 확장된 리전 인식(region-aware) 설정으로 교체했습니다.

수치가 말해주는 결과
변경 이후, 우리의 평균 지연 시간은 인상적인 30% 감소를 기록했습니다. 하지만 더 중요한 것은, 사용자 인내심의 한계를 몰아붙였던 95퍼센타일 지연 시간(95th percentile latency)이 무려 70%나 급감했다는 점입니다. 우리는 더 이상 치명적인 지연을 경험하지 않게 되었고, 시스템은 사용자들에게 더욱 반응성이 좋게 느껴졌습니다.

사용자들은 마침내 큰 어려움 없이 원하는 것을 찾을 수 있게 되었습니다. 또한 검색 재시도율 (search retry rate)이 25% 감소하는 것을 관찰했으며, 이는 결과적으로 CPU 사용률 (CPU utilization)을 최소화하고 비용을 절감했습니다.

다르게 했을 점
돌이켜보면, 처음부터 인메모리 인덱싱 (in-memory indexing) 접근 방식을 더 강력하게 추진했더라면 좋았을 것입니다. 다양한 인덱싱 기술을 시도했던 초기 단계의 노력들은 인메모리 인덱싱 전략을 정교화하는 데 쓰일 수 있었던 귀중한 시간을 낭비했습니다. 또한, Redis 클러스터 (Redis Cluster)별로 전용 설정을 사용하는 더 단순한 접근 방식을 선택했을 것입니다. 이를 통해 여러 개의 Redis 클러스터를 사용하는 리전별 설정 (regional setup)을 유지 관리해야 하는 복잡성을 제거할 수 있었을 것입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0