版本:LlamaIndex 0.12.x定位:在真实流量下让系统跑得快、稳、省源码关联:llama_index.core.query_engine、llama_index.core.retrievers、llama_index.core.postprocessor1. 项目背景某团队的知识库问答服务三个月前上线时一切顺利——50 个内测用户,P95 延迟稳定在 2 秒左右,OpenAI 月账单 200 美元。随着业务推广,用户量从 50 人增长到 500 人,性能问题全面爆发。周一早会刚结束,运维在群里连发三条告警截图:P95 延迟飙升到 8 秒,高峰期 QPS 打到 50 时直接返回 502,5 个用户投诉"等了 10 秒还没出答案"——产品经理在群里喊"再不解决,下周客户要解约了"。更糟糕的是,财务发来的 OpenAI 月账单从 200 美元涨到 2000 美元——翻了整整 10 倍。CTO 紧急开会,提了两个硬指标:性能翻倍但成本砍半。运维登录服务器top一看,愣住了:CPU 30%、内存 40%、网络 IO 也不高。硬件资源明明还很充裕,性能瓶颈不在硬件,在软件架构。经过一轮逐层排查,问题浮出水面:(1) 串行阻塞。一次 RAG 请求的完整路径是:用户查询 → Embedding 向量化 → 向量检索 → Rerank 重排 → LLM 合成 → 返回答案。每个环节都是
第36章:高性能 RAG 优化——延迟、吞吐与成本
版本:LlamaIndex 0.12.x定位:在真实流量下让系统跑得快、稳、省源码关联:llama_index.core.query_engine、llama_index.core.retrievers、llama_index.core.postprocessor1. 项目背景某团队的知识库问答服务三个月前上线时一切顺利——50 个内测用户,P95 延迟稳定在 2 秒左右,OpenAI 月账单 200 美元。随着业务推广,用户量从 50 人增长到 500 人,性能问题全面爆发。周一早会刚结束,运维在群里连发三条告警截图:P95 延迟飙升到 8 秒,高峰期 QPS 打到 50 时直接返回 502,5 个用户投诉"等了 10 秒还没出答案"——产品经理在群里喊"再不解决,下周客户要解约了"。更糟糕的是,财务发来的 OpenAI 月账单从 200 美元涨到 2000 美元——翻了整整 10 倍。CTO 紧急开会,提了两个硬指标:性能翻倍但成本砍半。运维登录服务器top一看,愣住了:CPU 30%、内存 40%、网络 IO 也不高。硬件资源明明还很充裕,性能瓶颈不在硬件,在软件架构。经过一轮逐层排查,问题浮出水面:(1) 串行阻塞。一次 RAG 请求的完整路径是:用户查询 → Embedding 向量化 → 向量检索 → Rerank 重排 → LLM 合成 → 返回答案。每个环节都是