Hotdry.

Article

用 Bq 度量请求流:becquerel 作为 API 请求率的 SI 单位

将放射性强度的标准单位 becquerel(Bq,即 s⁻¹)引入 API 请求率度量,探讨统一量纲的工程价值与参数阈值。

2026-04-19systems

在系统设计中,API 请求率通常以「每秒请求数」(Requests Per Second,RPS)来描述。这一术语直观易懂,却在跨组织沟通、工具链统一和 SI 单位制对齐上存在缺憾。巧合的是,国际单位制(SI)中恰好有一个与 RPS 结构完全一致的导出单位 ——becquerel(符号 Bq),其定义为每秒一次的放射性衰变,即 s⁻¹。本文探讨将 becquerel 引入 API 请求率度量的可行性与工程价值。

becquerel 的定义与数学形式

becquerel 是 SI 中用于衡量放射性强度的导出单位,于 1975 年正式取代 Curie 成为放射性活度的标准单位。其精确定义为:每秒发生一次原子核衰变,即 1 Bq = 1 s⁻¹。这意味着 becquerel 本质上是一个频率单位,描述的是单位时间内离散事件的发生次数。与赫兹(Hz)不同,becquerel 专用于描述随机过程的速率,如放射性衰变,但其量纲与 Hz 完全等同,均为 s⁻¹。

从数学形式上看,若某放射源在时间 t 秒内发生 N 次衰变,则其平均活度为 N/t Bq。类似地,若 API 在 t 秒内处理 N 次请求,则其平均请求率为 N/t s⁻¹。两者的物理模型高度相似:事件随机到达、发生在离散时间点、需要累计计数。这一结构对应关系为借用 becquerel 度量请求率提供了理论依据。

工程实践中的参数换算

将 becquerel 引入 API 监控,首先需要建立与现有指标的换算关系。传统 RPS 与 Bq 的换算是直接的:1 RPS = 1 Bq。区别在于前缀的使用场景。SI 为 becquerel 规定了一套完整的前缀体系:kBq(10³)、MBq(10⁶)、GBq(10⁹)、TBq(10¹²)。对于大规模互联网服务而言,这套前缀体系可以直接映射到请求量的不同量级。例如,一个日均处理 10 亿请求的微服务,其平均请求率约为 11,574 Bq,即约 11.6 kBq;而一个峰值达每秒百万请求的 CDN 边缘节点,其请求率可表述为 1 MBq。

这种前缀体系的统一带来了显著好处。在多语言监控系统的集成中,Prometheus、OpenTelemetry、Grafana 等工具往往使用不同的命名约定。若统一采用 becquerel 前缀,则可在仪表盘配置、告警阈值定义和跨团队沟通中消除歧义。告警规则可以写成「当请求率超过 500 Bq 时触发」「当服务 A 调用服务 B 的流量达到 2.5 kBq 时触发」等清晰形式。

监控与告警的阈值建议

将 becquerel 落地到生产环境,需要设定合理的阈值范围。基于行业实践,以下阈值可作为基线参考:健康态服务的请求率通常维持在 10 Bq 至 100 Bq(10–100 RPS)之间;中等级别服务的基线约为 500 Bq 至 2 kBq;高并发系统则常在 10 kBq 至 100 kBq 范围。告警阈值建议设置为基线的 1.5 倍至 2 倍,即当请求率突破基线阈值时应触发黄色预警,达到 2 倍时触发红色告警。

对于需要精细化控制的服务,可进一步引入滑动窗口计算。以 1 分钟为窗口计算请求率的 Bq 值,可平滑瞬时波动,避免因突发流量导致误报。计算公式为:窗口内请求总数除以窗口时长(秒),结果直接以 Bq 为单位输出。若使用 Prometheus,可使用 rate(http_requests_total[1m]) 获取每秒速率,其返回值即为 Bq 值。

与现有工具链的兼容性

将 becquerel 引入监控体系并不意味着从头重建所有工具。大多数现代监控系统已经支持自定义指标名称和单位标签,OpenTelemetry 的语义约定中就包含了请求量的计量方式。只需在指标元数据中声明单位为 Bq(或 1/s),即可在 Grafana 等可视化工具中自动显示正确的单位符号。

对于遗留系统,亦可在数据采集层做单位转换。Logstash、Fluentd 或 Telegraf 等采集代理可在数据转发前将原始计数转换为 Bq 值。关键是保持一致性:一旦决定使用 becquerel,应在所有相关的指标、仪表盘、告警规则和文档中统一采用,避免同一概念使用多种单位导致混淆。

统一量纲的长期价值

采用 becquerel 作为请求率标准单位的更深层意义在于与 SI 体系的正式对齐。放射性强度的度量历史悠久,becquerel 的定义经过严格修订,具有国际共识。将 API 请求率映射到同一量纲,不仅提升了术语的专业性,还为未来跨领域的指标融合提供了可能。例如,当系统需要同时监控放射性传感器数据与 API 请求量时,两者可以使用同一套单位体系,避免单位转换错误。

此外,SI 前缀的广泛适用性使得从微观到宏观的请求量描述变得自然。从单个实例的 5 Bq 到全局流量的 5 TBq,无须额外解释即可理解量级差异。这种量纲统一的做法在跨国团队和多云架构中尤为有价值,它消除了解释「RPS」「QPS」「TPS」之间差异的成本,使沟通效率显著提升。


资料来源:becquerel 的 SI 定义参考 BYJU'S Physics 与 Wikipedia 相关条目;API 请求率度量实践参考 PFLB 与 Heroku 开发者文档。

systems