全部产品
Search
文档中心

云消息队列 RabbitMQ 版:查询实例TPS峰值最佳实践

更新时间:Jul 09, 2026

本文为您介绍如何查询云消息队列 RabbitMQ 版的实例TPS峰值。

背景信息

当您实际使用的TPS流量峰值超过实例的TPS规格上限时,云消息队列 RabbitMQ 版实例会被限流。

为了避免实例限流造成的业务影响,建议您在日常运维任务中将实例TPS峰值作为重点监控指标,提前预警规格超限风险,您也可以通过观察实例TPS峰值的变化了解业务波动情况,判断当前实例规格是否满足业务需求。

查询方式

云消息队列 RabbitMQ 版支持以下几种方式查询实例TPS峰值。

查询方式

说明

查询时间级别

查询资源级别

(推荐)通过云监控查询实例TPS峰值并设置告警

优势:

  • 查询结果最大可显示14天内的TPS峰值变化,可快速定位异常范围。

  • 支持将实例TPS峰值作为监控指标设置告警。

  • 支持免费使用。

分钟级TPS峰值

取值为1分钟周期内,每秒钟实例TPS的最大值。

实例级别TPS峰值

(推荐)通过实例详情查询实例TPS峰值

  • 优势:

    • 支持查询秒级TPS峰值,可精确异常范围。

    • 支持查看具体API接口的TPS峰值。

    • 支持免费使用。

  • 不足:为避免显示结果过多,只显示10分钟内的查询结果。

秒级TPS峰值

  • 实例级别TPS峰值

  • 实例内某个API接口的TPS峰值

通过日志查询实例TPS峰值

  • 优势:支持通过SLS分析语句查询,适合复杂问题定位场景。

  • 不足:

    • 相较于前两种查询方式,操作较复杂,查询结果不够直观。

    • 需要额外支付日志服务相关费用,具体计费信息,请参见日志服务计费项

秒级TPS峰值

实例级别TPS峰值

通过云监控查询实例TPS峰值并设置告警

查询实例TPS峰值

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏单击监控指标

  4. 监控指标页面,在分组列表中选择资源类型为Instance,并选择查询时间范围。

    指定实例TPS峰值查询示例如下:监控指标查询结果

设置API TPS峰值告警

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏单击监控指标

  4. 监控指标页面右上方,单击创建报警规则

    页面跳转至云监控的创建报警规则面板。

  5. 设置规则描述面板中,设置报警规则,从监控指标列表选择为实例 > 实例API请求速率峰值(每分钟Max值)。具体操作,请参见报警服务

通过实例详情查询实例TPS峰值

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 实例详情页面单击TPS峰值查询页签。

    说明

    该方式最长可查询15天范围内的TPS峰值数据,因为查询结果是秒级数据,为避免显示数据过多,查询结果只显示10分钟的数据结果。

    当您发现 TPS 飙高时段的监控数据与预期不符,或出现无数据的情况时,通常是由于监控统计粒度差异导致的:查询时间范围较大(如 24 小时)时,系统以平均值展示数据,可能掩盖短时峰值;查询时间范围较小(如 3 小时以内)时,数据更精确,更接近秒级 TPS 峰值的真实值。

    建议您在排查 TPS 异常时,缩小查询时间范围至飙高时段附近(例如选择 10 分钟或更短的时间窗口),以获取准确的秒级 TPS 峰值数据。

    • 查询实例级别TPS峰值:

      单击按实例级别查询页签,选择查询时间,然后单击查询

      按实例级别查询

    • 查询API级别TPS峰值:

      单击按API级别查询页签,选择查询时间,然后单击查询

      按API级别查询

通过日志查询实例TPS峰值

具体操作,请参见查询与分析快速指引

分析语句示例如下:

(Action : ConnectionOpen or Action : ChannelOpen or Action: ExchangeDeclare or Action: QueueBind or Action : QueueDeclare or Action : QueueDelete or Action : ExchangeDelete or Action : QueueUnBind or Action : ExchangeBind or Action : ExchangeUnBind or Action : BasicConsume or Action : BasicReject or Action : BasicRecover or Action : SendMessage or Action : BasicAck or Action : BasicNack or Action : BasicGet ) | select from_unixtime(cast(microtime as bigint)/1000/1000) as time, COUNT(*) as count GROUP by time ORDER by time limit 90000000     

常见问题

为什么不同时段消息消费耗时差异显著(如早上快下午慢)?

该现象通常并非云消息队列 RabbitMQ 版系统分发延迟导致,而是由以下原因引起:

  • 业务高峰期消息积压:高峰时段消息发送速率超过消费者的处理能力,导致队列积压,消费端处理延迟随之增大。

  • 消费端 ACK 处理较慢:消费端对每条消息的 ACK 响应处理耗时较长,拖慢了整体消费速度。

建议您采取以下优化措施:

  1. 适当增加消费者客户端数量,以提升并发消费能力,缩短队列积压时长。

  2. 优化 ACK 处理逻辑,缩短单条消息的处理时延。

说明

以上问题属于业务消费性能问题,与实例 TPS 峰值超限(限流)无关。若需确认是否为实例 TPS 峰值超限导致的限流,请参考本文中介绍的 TPS 峰值查询方法,确认当前实例 TPS 峰值是否超过规格上限。