AI
人工智能相关文章
向量数据库选型2026:Milvus 2.5 vs Qdrant v1.10 基于亿级数据的实测报告
测试环境
硬件:AMD EPYC 9654(96核)| 256GB RAM | NVMe SSD 2TB
数据集:1亿条向量(1536维,OpenAI text-embedding-3-small)
版本:Milvus 2.5.3 | Qdrant v1.10.1
一、HNSW索引构建
# 统一配置
M: 16
efConstruction: 200
| 规模 | Milvus 2.5 | Qdrant v1.10 |
|---|---|---|
| 100万 | 42s | 38s |
| 1000万 | 23min | 19min |
| 1亿 | 68min | 74min |
差距在10%以内,Qdrant中等规模略优。
二、查询延迟(p50/p95/p99,ms)
| 场景 | Milvus | Qdrant |
|---|---|---|
| Top-10,100万数据 | 2/5/12 | 1.8/4/9 |
| Top-10,1000万数据 | 4/9/24 | 3.5/8/18 |
1000 QPS高并发
| 指标 | Milvus | Qdrant |
|---|---|---|
| 平均延迟 | 12ms | 9ms |
| p99延迟 | 89ms | 67ms |
| CPU使用率 | 73% | 68% |
Qdrant p99延迟优势明显,高并发下差距达25%。
三、内存占用对比(1亿向量)
Milvus(内存+磁盘混合):
内存:38GB(仅索引) | 磁盘:147GB
支持按需加载,适合超大规模
Qdrant(全内存):
内存:89GB(向量+索引全加载)
on-disk模式延迟增加5-10倍
关键决策点:数据量<1亿且内存充足→Qdrant;数据量>1亿→Milvus。
四、实时写入性能
并发写入+查询测试:
Milvus:1200 docs/s,写入期间延迟+15%
Qdrant:1800 docs/s(高50%),延迟+8%,无明显抖动
Qdrant在实时写入+查询并发场景优势显著。
五、选型决策表
| 场景 | 推荐 | 理由 |
|---|---|---|
| 数据<5000万,低延迟 | Qdrant | p99更低,部署简单 |
| 数据>1亿,节省内存 | Milvus | 分层存储少50%内存 |
| 实时写入频繁 | Qdrant | 写入高50%,抖动小 |
| 金融/医疗严格隔离 | Milvus | partition物理隔离 |
| 快速验证POC | Qdrant | 5分钟上手 |
建议用自己业务数据做5%采样测试,再做最终决策。