ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Hindsight 内存与查询延迟调优实践

Hindsight 内存与查询延迟调优实践 Hindsight 内存与查询延迟调优实践【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight线上 recall 接口的 p95 经常飙到 800msbank 里的内存占用还在逐周上涨但应用侧没有任何报错。这类问题通常不是模型慢而是默认并发、token 预算和重排候选数叠加的结果。下面给一条可操作的 Hindsight 内存与查询延迟调优路径先定位瓶颈再按类型调参最后验证。定位瓶颈先看 recall 的耗时分布Hindsight 会暴露hindsight.operation.duration直方图指标配套的 Grafana 面板 hindsight-operations.json 可以直接看每个操作的 p50/p95。先确认长尾出在查询侧还是写入侧如果是整体变慢多半是数据库池这类全局资源问题而不是查询逻辑本身。对比 LLM 耗时排除模型因素hindsight.llm.duration直方图记录每次 LLM 调用的耗时。recall p95 飙高但 llm.duration 平稳说明延迟在数据库或重排环节reflect、consolidation 这些操作 p95 高且 llm.duration 同步恶化才需要动 LLM 并发和超时。再看连接池与内存趋势数据库池默认最小 5、最大 100定义在 config.py。如果日志里出现池等待告警、或进程内存只涨不回落优先怀疑每次 recall 拉回的候选太多。HINDSIGHT_API_DB_ACQUIRE_TIMEOUT默认 30 秒池不够用时慢请求会先卡在这里。按瓶颈类型调参recall 是瓶颈recall 默认并发 32且每次 recall 最多占用 4 个数据库连接HINDSIGHT_API_RECALL_CONNECTION_BUDGET默认 4数据库扛不住时先降HINDSIGHT_API_RECALL_MAX_CONCURRENT返回体过大则压HINDSIGHT_API_RECALL_MAX_TOKENS默认 2048和HINDSIGHT_API_RECALL_CHUNKS_MAX_TOKENS默认 1000。本地重排器候选数默认 300是最容易拉高 p95 的隐藏项参数默认值建议起点HINDSIGHT_API_RECALL_MAX_CONCURRENT328–16HINDSIGHT_API_RECALL_CHUNKS_MAX_TOKENS1000500HINDSIGHT_API_RERANKER_MAX_CANDIDATES300100–150降低候选数或开启HINDSIGHT_API_RERANKER_LOCAL_BUCKET_BATCHING按长度分桶批处理官方标注可提速 36–54%对 p95 的改善通常最直接。LLM 调用是瓶颈全局HINDSIGHT_API_LLM_MAX_CONCURRENT默认 32对有配额限制的云提供商偏高触发限流后重试退避反而更慢降到接近提供商 QPS 上界的值。读写路径可以分开控制HINDSIGHT_API_RETAIN_LLM_MAX_CONCURRENT管写入侧抽取HINDSIGHT_API_REFLECT_LLM_MAX_CONCURRENT管读取侧推理别用全局值一刀切。嵌入侧批量写入时调高HINDSIGHT_API_EMBEDDINGS_OPENAI_BATCH_SIZE默认 100减少往返次数。内存与存储持续增长observations 功能默认开启HINDSIGHT_API_ENABLE_OBSERVATIONS默认 trueconsolidation 阶段会合并重复记忆。如果你为了写入快把它关掉存储会膨胀recall 每次扫描的候选更多查询反而更慢。建议保持开启HINDSIGHT_API_CONSOLIDATION_BATCH_SIZE维持默认 50 即可没必要上调。调完怎么验证一次只动一个参数。改前改后各跑 30 分钟同样的 recall 流量对比三样p95 延迟、数据库池等待日志、进程内存曲线。仓库里 test_recall_config.py 中的查询用例可以直接当回归样本。如果 p95 降了但吞吐没涨说明没打到真正的瓶颈回到指标面板重看分布。规模上去之后用户量上来后性价比最高的一步是读写分离HINDSIGHT_API_READ_DATABASE_URL指向只读副本并单独调HINDSIGHT_API_READ_DB_POOL_MAX_SIZE让查询和写入各走各的池。调优不是一次性的参数对齐而是观察、改动、验证的循环。把指标面板常放在手边每次改动才有依据。【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表