月度账单从 3000 涨到 9000,调用量只涨了 15%,缓存命中率从 60% 掉到 0。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,发版时缓存 key 前缀改了,旧缓存全部失效,每次都打到模型。新前缀还把语义缓存开关一起关掉了。

「调用成本异常」这类改动最怕改一半,回滚脚本先准备好,再动生产。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

redis-cli --scan --pattern 'llm:*' | wc -l
redis-cli INFO stats | grep keyspace

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

具体做法是,对比两周的请求数和 token 消耗;确认命中率下跌和 key 变更时间点吻合;恢复缓存 key 规则并回填热数据;给日消耗设预算告警。

最后用这个标准收尾,缓存命中率回到 60% 以上 日消耗回落到 100 元上下。

作者 9823189