Web3专业术语
CUPS
Compute Units Per Second
每秒计算单元 · 链上 API 的实时吞吐天花板
公链DeFi
CUPS
- 定义
- CUPS(Compute Units Per Second)是Web3领域的专业术语。CUPS 是 CU 的速率版本——如果 CU 是你的月度「流量包」,CUPS 就是你的「带宽上限」。
最后更新:2026-04-23
什么是CUPS?
CUPS 是 CU 的速率版本——如果 CU 是你的月度「流量包」,CUPS 就是你的「带宽上限」。即使月度 CU 还有余量,单秒内发送过多请求也会触发 429 限流。Alchemy 免费层的吞吐上限是 500 CUPS,意味着每秒最多消耗 500 个计算单元。
- CUPS = 每秒内所有请求的 CU 加权总和,不是简单的请求数/秒
- 超过 CUPS 上限会返回 HTTP 429 错误,需要客户端实现重试逻辑
- 弹性机制下短暂突破上限通常会被容忍,但持续超限会被严格限流
CUPS详解
CUPS(Compute Units Per Second)是区块链 RPC 服务商用来控制实时吞吐量的速率指标。与传统的 RPS(Requests Per Second)不同,CUPS 按 CU 加权计算:一秒内发送 1 个 eth_blockNumber(10 CU)和 2 个 eth_getLogs(75 CU)共消耗 160 CUPS,而非 3 RPS。这种加权速率控制更公平——轻量查询不会因为重量级查询占满带宽而被误伤。开发者需要根据业务的调用模式(方法组合和并发量)来评估所需的 CUPS 档位,避免高峰期被限流影响用户体验。
公式提示
单秒 CUPS 消耗 = Σ(该秒内每个请求的 CU 成本);超过套餐 CUPS 上限 → 429 限流
CUPS的应用场景
正式定义
区块链 RPC 节点服务商用于限制客户端每秒可消耗计算单元总量的吞吐量速率指标。
应用场景
- 高频交易机器人根据 CUPS 上限选择节点服务商套餐,确保行情高峰期不被限流
- DApp 后端在并发请求前计算预期 CUPS 消耗,动态调整请求速率
- 运维监控实时 CUPS 使用率,在接近上限时触发告警或自动降级
常见误区
- CUPS 不等于 RPS——每个请求的 CU 权重不同,3 个轻量请求可能比 1 个重量级请求消耗更少 CUPS
- 短暂超过 CUPS 上限不一定被拒——多数服务商有弹性容忍机制,但不能依赖这一点
实际案例
📌 NFT 市场高峰期限流排查
某 NFT 市场在热门 Mint 期间频繁收到 429 错误。排查发现每秒并发调用 getNFTMetadata(15 CUPs/次)约 30 次,实际消耗 450 CUPS,接近免费层 500 CUPS 上限。升级到付费套餐并加入指数退避重试后问题解决。
CUPS的参考来源
关于CUPS的常见问题
- CUPS 和 RPS 有什么区别
- RPS 只数请求个数,CUPS 按每个请求的 CU 权重加权求和。同样 10 RPS,如果全是重量级查询,CUPS 消耗可能是轻量查询的数十倍。
- CUPS 超了怎么办
- 服务端会返回 HTTP 429 错误。建议在客户端实现指数退避重试,或升级到更高 CUPS 上限的套餐。Alchemy SDK 内置了自动重试机制。