批量与单条查询对比
批量与单条查询对比
# 差:循环单条,往返开销叠加
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,再设定服务端并发上限;超时要有降级路径。