检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
测试RabbitMQ生产速率和消费速率 本章节从实例规格、是否开启SSL、生产者/消费者数量、队列数量、队列类型、Exchange类型的维度进行分布式消息服务RabbitMQ版的性能测试,对比客户端消息生产速率和消费速率,得出性能测试结果。 测试场景一(实例规格):相同Excha
测试实例性能 测试RabbitMQ生产速率和消费速率
Q会将消息刷新到磁盘。刷盘需要重建索引,重启包含大量消息的集群,导致这个过程非常耗时。当刷盘的消息过多时,会阻塞队列处理消息,从而降低队列速度,影响RabbitMQ节点的性能。 要获得最佳性能,应尽可能缩短队列。建议始终保持队列消息堆积的数量在0左右。 对于经常受到消息峰值影响的
如网站的用户注册场景,在用户注册成功后,还需要发送注册邮件与注册短信,这两个流程使用RabbitMQ消息服务通知邮件发送系统与短信发送系统,从而提升注册流程的响应速度。 图1 串行发送注册邮件与短信流程 图2 借助消息队列异步发送注册邮件与短信流程 错峰流控与流量削峰 在电子商务系统或大型网站中,上下游
解决消息堆积的办法 生产速率较快,消费速率较慢:您可以通过以下方法解决。 增加消费者数量提高消费速率。 采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施。 消费者异常:建议排查消费者逻辑是不是有问题,优化程序。 消费者与队列间的订阅异常:建议排查队列和消费者之间的订阅是否正常。
将介绍按需计费RabbitMQ实例的计费规则。 适用场景 按需计费适用于具有不能中断的短期、突增或不可预测的应用或服务,例如电商抢购、临时测试、科学计算。 适用计费项 分布式消息服务RabbitMQ版对您选择的RabbitMQ实例和RabbitMQ的磁盘存储空间收费。以下计费项支持按需计费。
700~210000 168000 40000 1000 10000 上表中TPS(即生产+消费的TPS)是指以2K大小的消息为例的每秒处理消息条数,测试场景为不开启持久化的非镜像队列,实时生产实时消费,队列无积压。此数据仅供参考,生产使用需要以实际压测性能为准。 服务端的性能主要跟以下因素
功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问RabbitMQ实例。 约束与限制 RabbitMQ控制台只支持绑定IPv4弹性IP地址,不支持绑定IPv6弹性IP地址。
设置实例规格和存储空间,如图3所示,配置详情请参考表3。 表3 设置实例规格和存储空间 参数 说明 套餐规格 选择“测试规格”,该规格提供最小规格的单机实例,为您节约资源和使用成本,但由于仅为单机部署,无法支持高可用能力,适用测试或者调试业务。 单个代理存储空间 根据实际需要选择存储RabbitMQ数据的磁盘类型和磁盘大小。
ge持久化、Queue持久化和Message持久化。 持久化是将内存中的消息写入到磁盘中,以防异常情况导致内存中的消息丢失。但是磁盘的读写速度远不如内存,开启消息持久化后,RabbitMQ的性能会下降。与惰性队列不同,持久化消息会在磁盘和内存中各存储一份,只有在内存空间不够时,才会将内存中的消息删除,存储到磁盘中。
采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施 CPU使用率 告警阈值:原始值>业务预期使用率(推荐70%) 连续触发次数:连续3~5个周期 告警级别:重要 该指标需要分别为每个节点设置CPU使用率告警,CPU使用率过高可能会影响生产速度 减少镜像队列个数
开启RabbitMQ实例插件 RabbitMQ实例创建后,支持通过插件的方式开启附加功能,实例创建后插件默认都是关闭状态。 RabbitMQ插件功能可用于测试和迁移业务等场景,不建议用于生产业务。因使用插件导致的可靠性问题,不在服务承诺的SLA范围内。详情请参考产品介绍 > 约束与限制。 Rab
消息和消费消息前,需要先连接RabbitMQ实例。 分布式消息服务RabbitMQ版分别为您提供了开启和关闭SSL的示例代码,通过示例代码测试客户端和实例是否可以连接。 支持区域: 全部 连接未开启SSL方式的RabbitMQ实例 连接已开启SSL方式的RabbitMQ实例 变更实例规格
生分区时少数派上的队列将无法生产消费。 此策略相当于放弃了可用性而选择了数据一致性。 RabbitMQ插件 RabbitMQ插件功能可用于测试和迁移业务等场景,不建议用于生产业务。因使用插件导致的可靠性问题,不在服务承诺的SLA范围内。 仅RabbitMQ 3.8.35版本支持插件功能。
实际使用时长计费,秒级计费,按小时结算。 区域 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 可用区 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 根据实际情况选择1个或者3个及以
默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)长时间内无法消费消息,导致消息大量堆积,使得内存使用率过高,换页