首页/AI/RAG 与向量库速查/批量检索与服务并发
本包目录(229 条)
架构与流程30 条解析与切分33 条
Embedding 与检索50 条
向量数据库49 条重排与生成32 条评估与优化35 条

批量检索与服务并发

在线服务要撑并发,需要批量化与并发控制:把同批查询向量拼成一个矩阵一次检索,连接池与超时分开配置,异步框架下设置并发上限避免压垮向量库。

RAG 与向量库速查AI更新于 2026-10-12

批量与单条查询对比

批量与单条查询对比
# 差:循环单条,往返开销叠加
for q in queries:
    hits = store.search(q, top_k=10)

# 好(库支持时):一次提交矩阵
results = store.search_batch(query_vecs, top_k=10)

并发保护

并发保护
SEM = asyncio.Semaphore(32)      # 上限按向量库容量压测定

async def search(q_vec):
    async with SEM:
        return await store.async_search(q_vec, top_k=10, timeout=2.0)
先压测向量库的 P95/P99 与 CPU,再设定服务端并发上限;超时要有降级路径。

易错点

  • 不设并发上限,流量高峰把向量库连接打满,全站检索超时
  • 批大小盲目调大,单批 P99 延迟反而拖慢整体响应

数据来源与参考

  • Qdrant 官方文档(Batch 与并发)
  • Milvus 官方文档(批量检索与限流)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌