핵심 요약
토스증권은 Milvus 기반 벡터 검색 환경의 품질과 처리량 요구를 분석하고, CPU/메모리 배치와 인덱스 설정 최적화로 처리량을 41% 높이고 사이징 기준을 수립했습니다.
구현 방법
- Milvus 2.6 아키텍처의 StreamingNode/QueryNode/DataNode 분리 및 클러스터 확장성 활용
- LAION-100M 1억 건 768차원 데이터로 3대 서버에서 recall@10 ≥ 0.95 목표로 실험
- HNSW_SQ8, IVF_SQ8, DISKANN 등 인덱스 비교 및 SQ8 양자화 적용
- NUMA 배치로 QueryNode CPU/메모리 같은 노드 배치 및 IPC↑, 원격 DRAM↓, QPS↑
- 벡터 차원/건수 기반 시뮬레이터로 초기 서버 규모 추정
주요 결과
- HNSW_SQ8, recall@10 0.954, QPS 316, replica당 메모리 약 114GB
- DISKANN/IVF_SQ8은 recall≥0.95 충족하나 300 QPS 미달
- NUMA 배치 적용 시 recall 0.954 유지, QPS 405→572(약 41%), p99 지연 3.94s→2.04s, IPC 0.37→0.55, remote DRAM 약 50%에서 0.8%로 감소
- 차원 증가에 따른 처리량 변화 추정을 위한 시뮬레이션 기반 서버 규모 가이드 수립

