목록 보기
CPU 뼛속까지 써먹고, Milvus 사이징 기준을 만들기까지
데브옵스

CPU 뼛속까지 써먹고, Milvus 사이징 기준을 만들기까지

토스
토스
2026년 10월 12일

두줄요약

Milvus 벡터 검색에서 HNSW_SQ8과 NUMA 배치를 최적화해 품질을 유지하며 QPS를 41% 높였습니다. 검색 조건과 자원 측정값을 연결해 서버 사이징 기준을 만들었습니다.

문제 상황

  • 온프레미스 Milvus 환경에서 검색 품질·응답 속도·처리량을 만족하는 CPU·메모리·서버 규모 산정 필요
  • 벡터 차원, top-k, recall 목표, 데이터 갱신 빈도에 따른 자원 요구량 차이

해결 방법

  • LAION-100M 기반으로 recall@10 0.95 이상 조건에서 HNSW, DISKANN, IVF_SQ8, HNSW_SQ8 비교
  • HNSW_SQ8과 ef48 구성 선택 후 QueryNode의 CPU와 인덱스 메모리를 단일 NUMA 노드에 공동 배치
  • Kubernetes CPU Manager·Memory Manager·Topology Manager 정책과 Guaranteed Pod 적용

성능/운영 포인트

  • remote DRAM 비율 약 50%에서 0.8%로 감소, IPC 0.37에서 0.55로 상승
  • 동일 recall 0.9541에서 3대 합산 QPS 405에서 572로 41% 향상, p99 측정 구간 최댓값 48% 감소
  • 검색 설정·벡터 차원·데이터 건수·목표 QPS·메모리 요구량을 반영한 서버 규모 시뮬레이터 구성

적용해볼 점

  • CPU 사용률뿐 아니라 IPC와 local·remote DRAM 접근 지표를 통한 병목 확인
  • 실제 서비스 데이터와 검색 조건에서 recall·QPS·지연시간 재검증 및 장애·점검 여유 용량 반영

토스 계열사 채용156건

채용 사이트에서 전체 보기

다음 읽기

#Milvus 주제를 이어서 읽기

CPU 뼛속까지 써먹고, Milvus 사이징 기준을 만들기까지

Milvus 벡터 검색의 품질·처리량 기준으로 HNSW_SQ8을 선택하고 NUMA 배치를 최적화했습니다.\n같은 자원에서 QPS를 41% 높이고 검색 조건 기반 서버 사이징 기준을 만들었습니다.

토스
토스
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...