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