检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
RabbitMQ支持升级CPU和内存吗? RabbitMQ AMQP-0-9-1版本支持扩容实例规格,RabbitMQ 3.x.x版本支持扩容/缩容代理规格,具体请参见变更实例规格。 父主题: 实例问题
测试实例性能 测试RabbitMQ生产速率和消费速率
测试RabbitMQ生产速率和消费速率 本章节从实例规格、是否开启SSL、生产者/消费者数量、队列数量、队列类型、Exchange类型的维度进行分布式消息服务RabbitMQ版的性能测试,对比客户端消息生产速率和消费速率,得出性能测试结果。 测试场景一(实例规格):相同Exchange、队列、生产者数量、消费者数量、不同的实例规格
队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担。为了释放内存,RabbitMQ会将消息刷新到磁盘。刷盘需要重建索引,重启包含大量消息的集群,导致这个过程非常耗时。当刷盘的消息过多时,
减少惰性队列的消息堆积 减少持久化队列的消息堆积 删除队列 内存使用率 告警阈值:原始值>业务预期使用率(推荐30%) 连续触发次数:连续3~5个周期 告警级别:重要 该指标需要分别为每个节点设置内存使用率告警,避免触发内存高水位阻塞生产 加快消费 采用生产者确认的发送模式,并监控
磁盘的读写速度远不如内存,开启消息持久化后,RabbitMQ的性能会下降。与惰性队列不同,持久化消息会在磁盘和内存中各存储一份,只有在内存空间不够时,才会将内存中的消息删除,存储到磁盘中。 非持久化的Queue、Exchange在重启之后会丢失。 非持久化的Message在重启之
默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)长时间内无法消费消息,导致消息大量堆积,使得内存使用率过高,换页
单机实例和没有配置镜像/仲裁队列的集群实例在变更规格过程中会有分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 配置了镜像/仲裁队列的集群实例在变更规格过程中会有秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 Vhost 表2 Vhost约束与限制 限制项 约束和限制 删除Vhost
无法被消费端消费。 消减措施 已开启延迟消息插件的实例,建议分别为每个节点配置内存使用率告警,内存使用率达到40%将触发内存高水位,告警阈值建议设置为30%。如果触发告警,建议扩容代理规格,避免触发内存高水位。如果已经由于延迟消息导致高水位,建议加快消费,减少延迟消息堆积。 替代方案
channel.basicAck(deliveryTag, false); } }); 未确认的消息缓存在内存中,如果未确认的消息过多,会导致内存使用率过高,此时可以在客户端配置预取值来限制消费者预取的消息数量,具体方法请参见配置RabbitMQ消息预取值。 父主题:
48000 新老规格区别如下: 新规格性能更好,同等价格下性价比更优。 老规格使用的非独享资源,在高负载情况下容易出现资源抢占情况。新规格使用的独占资源,性能更优、稳定性更好。 新规格支持灵活的水平/垂直动态扩容,能更好的应对复杂的业务变化情况。 新规格支持更大规格的,最大可以支持rabbitmq
与其他云服务的关系 弹性云服务器(Elastic Cloud Server) 弹性云服务器是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。RabbitMQ实例运行在弹性云服务器上,一个代理对应一台弹性云服务器。 云硬盘(Elastic Volume Service) 云硬
开源RabbitMQ 消息堆积 海量消息堆积能力,高性能不受消息堆积影响。 抗堆积能力差,容易引发内存问题而导致宕机。 弹性能力 集群分布式无主架构,能够横向快速地扩容集群规模。 通过变更机器规格来扩容、缩容。 服务可用性 99.95%集群分布式高可用架构,多可用区高可用。 使用Erla
消息堆积对业务的影响及解决办法 消息堆积对业务的影响 过量的消息堆积可能会引起内存或磁盘告警,从而造成所有connection阻塞,进而影响到其他队列的使用,导致整体服务质量的下降。 消息堆积产生的原因 一般来说消息堆积是由于生产消息的速率远大于消费消息的速率所导致的。比如某个时
查询新规格可扩容规格列表 功能介绍 查询新规格实例可扩容列表 调用方法 请参见如何调用API。 URI GET /v2/{engine}/{project_id}/instances/{instance_id}/extend 表1 路径参数 参数 是否必选 参数类型 描述 engine
、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等场景。 即开即用 分布式消息服务RabbitMQ版提供单机和集群的消息实例,拥有丰富内存规格,您可以通过控制台直接下单购买并创建,无需单独准备服务器资源。 消息特性丰富 支持AMQP协议,支持普通消息、广播消息、死信、延迟消息等特性。
新规格实例的规格变更 功能介绍 实例规格变更。 当前通过调用API,只支持按需实例进行实例规格变更。 调用方法 请参见如何调用API。 URI POST /v2/{engine}/{project_id}/instances/{instance_id}/extend 表1 路径参数
确认扩容信息无误后,单击“提交”。 在实例列表页面,查看变更是否成功? 实例状态从“变更中”变为“运行中”时,表示变更成功,在“规格”中查看扩容后的代理数量。 实例状态从“变更中”变为“变更失败”时,表示变更失败,把鼠标放在“变更失败”上,显示变更失败的原因。 实例状态为“变更失败”时,无法对实例进行修改和
荐使用仲裁队列,因为仲裁队列的写入会造成成倍的磁盘占用。 仲裁队列的消息会优先保存在内存中,使用仲裁队列时,建议定义队列最大长度和最大内存占用,在消息堆积超过阈值时从内存转移到磁盘,以免造成内存高水位。 更多关于仲裁队列的说明,请参考Quorum Queues。 约束与限制 仅RabbitMQ
变更计费模式概述 在购买RabbitMQ实例后,如果发现当前计费模式无法满足业务需求,您可以变更计费模式。支持变更计费模式的RabbitMQ实例计费项如表1所示。 表1 支持变更计费模式的RabbitMQ实例计费项 计费项 变更说明 相关文档 实例规格 变更RabbitMQ实例的