并发与限流计算器
额度是约束条件,不是性能旋钮。先算清楚瓶颈在哪,再决定并发开多大。
瓶颈判定:TPM(token 吞吐)先到顶。按 RPM 算每分钟可发 60 次, 按 TPM 算可发 33 次,取小者为实际速率。
稳态并发 = 实际可用 RPM ÷ 60 × 单请求耗时 = 1.65, 留 20% 余量后建议配置 1。耗时波动大时余量给足一些。
它在算什么
大模型 API 的限流通常有两把尺子:RPM(每分钟请求数)和 TPM(每分钟 token 数)。 两者是「与」的关系,任何一条到顶都会被拒。判断自己受限于哪一条很简单: 用单请求平均 token 数乘以 RPM 上限,如果结果超过 TPM 上限,那你实际受限于 TPM,RPM 那个数字根本用不到。
算出实际可用速率之后,再换算成并发:并发 ≈ 可用 RPM ÷ 60 × 单请求耗时。 这一步是最多人搞错的地方——并发和速率是两个维度,通过耗时才能互相换算。 单请求越慢,同样的速率需要越高的并发;反过来,把并发盲目调大并不会提高吞吐,只会制造更多 429。
怎么填这几个数
RPM / TPM 从厂商控制台的额度页面拿,注意区分免费档和付费档——两者差别通常很大, 用免费额度压测出来的容量不代表付费后的表现。
单请求平均 token 要算输入加输出的合计(多数厂商的 TPM 是合并口径)。 输入包括 system prompt、工具定义、检索片段和历史,不只是用户那句话; 把完整请求体粘进 token 计算器量一下更准。
单请求平均耗时从你的日志里统计,用中位数而不是平均值。如果还没有线上数据, 先做一次速度测试,方法见大模型 API 的速度怎么测。
业务峰值要用分钟级峰值,不是小时平均。流量集中的业务,峰值可能是日均的好几倍, 按日均申请的额度会在高峰时段被打爆。
算出缺口之后怎么办
一是提额。多数厂商支持按用量或申请提升档位,但通常有审核周期,别等撞墙才申请。
二是降需求。缩短输入直接降低 TPM 压力;把多个小任务合并成一次调用降低 RPM 压力; 把不紧急的活挪到批处理接口(通常有独立额度)。具体手段见 大模型 API 降本十招。
三是削峰。把可延迟的任务错峰到低谷时段,用低一档的额度就够了,还能省钱。
四是分散。多家并用按权重分配,既扩容又是可用性保险。做法见 Agent 的多模型路由策略。
配套要做的事
算出建议并发之后,最好在客户端做主动限速(令牌桶),把速率压在额度以内, 而不是等服务端拒绝再退避——被拒的请求不产生任何输出,但重试是要重新计费的。 限流触发后的正确处理姿势见 API 报 429 怎么办, 额度口径的完整说明见 RPM 和 TPM 是什么。
常见问题
并发数和 RPM 是一回事吗?
不是。RPM 是速率(每分钟发多少次),并发是同一时刻有多少请求在飞,两者通过单请求耗时联系起来:并发 ≈ 每分钟请求数 ÷ 60 × 单请求耗时。把并发直接设成 RPM 的数值,会在开头几秒把整分钟的额度打光,然后剩下时间全在吃 429。
为什么请求数没超,还是被限流?
多半撞的是 TPM 而不是 RPM。长请求几次就能把每分钟 token 额度打满,这时候 RPM 那个数字是虚的——你根本发不到那么多次就先被 TPM 拦下了。本工具会告诉你哪条线先到顶。
预留余量该给多少?
单请求耗时波动小、流量平稳的场景给一两成即可;耗时波动大或有突发流量的场景建议给到三成。余量的作用是吸收波动,避免刚好卡在额度边缘反复触发限流。
容量算完,接着算钱
把用量代进月成本估算器,看看这套配置一个月要花多少。