检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
测试Kafka生产速率和CPU消耗 本章节从批处理大小、是否跨AZ生产、副本数、同步/异步复制的维度进行分布式消息服务Kafka版的性能测试,对比客户端消息生产速率和服务端CPU消耗,得出性能测试结果。 测试场景一(批处理大小):相同的Kafka实例和Topic,不同的消息大小
测试Kafka实例TPS 通过以下几个场景,测试不同实例规格的TPS。 测试场景一(实例是否开启SASL):相同的Topic,实例分为开启SASL和未开启SASL 测试场景二(同步/异步复制):相同的实例,不同复制机制的Topic 测试场景三(是否同步落盘):相同的实例,不同落盘机制的Topic
测试实例性能 测试Kafka生产速率和CPU消耗 测试Kafka实例TPS
Kafka 2.7版本,适用于测试场景,不建议用于生产业务。 TPS(Transaction per second),在Kafka场景中,指每秒能写入到Kafka实例的最大消息数量。下表中TPS性能,是指以1KB大小的消息为例的每秒处理消息条数。测试场景为连接内网访问明文接入、磁盘类型为超高I/O的实例。
单机和集群Kafka实例差异概述 单机实例是分布式消费服务Kafka版提供的单代理实例,只适用体验和业务测试场景,无法保证性能和可靠性。如果需要在生产环境使用Kafka实例,建议购买集群实例。 单机实例和集群实例支持的特性和功能有部分差异,具体如表1所示。 表1 单机实例和集群实例的差异说明
漏洞修复策略 漏洞修复周期 高危漏洞: Kafka社区发现漏洞并发布修复方案后,分布式消息服务Kafka版一般在1个月内进行修复,修复策略与社区保持一致。 操作系统紧急漏洞按照操作系统修复策略和流程对外发布,一般在一个月内提供修复方案,用户自行修复。 其他漏洞: 按照版本正常升级流程解决。
约束与限制 本章节介绍分布式消息服务Kafka版产品功能的约束和限制,您在使用Kafka实例时注意不要超过相应的约束和限制,以免程序出现异常。 如果因为您的实例配置超过相应的约束和限制而导致的任何不稳定情况,不在SLA承诺和赔偿范围内。 实例 表1 实例约束与限制 限制项 约束与限制
a实例的最大消息数量。下表中TPS性能,是指以1KB大小的消息为例的每秒处理消息条数。测试场景为连接内网访问明文接入、磁盘类型为超高I/O的实例。如果您想要了解更多关于TPS的性能,请参考测试Kafka实例TPS。 表1 Kafka集群实例规格 规格名称 代理个数范围 单个代理TPS
Kafka体验版实例规格为EXP,为单代理实例,不支持Kafka Manager、Smart Connect和多AZ等功能。 Kafka体验版实例只适用体验和业务测试场景,无法保证性能和可靠性。如果需要在生产环境使用Kafka实例,建议购买按需或包年包月的Kafka实例。 Kafka体验版仅在华南-广州的区域支持,其他区域暂不支持。
本文将介绍按需计费Kafka实例的计费规则。 适用场景 按需计费适用于具有不能中断的短期、突增或不可预测的应用或服务,例如电商抢购、临时测试、科学计算。 适用计费项 分布式消息服务Kafka版对您选择的Kafka实例和Kafka的磁盘存储空间收费。以下计费项支持按需计费。 表1
选项。 性能和吞吐量较低,适用于一些对性能要求不高的简单应用场景。 Sarama Sarama采用原生Golang语言编写,对于异步以及高并发操作支持度较好。 问题较多,文档相对较少。 Sarama在处理大量消息时,会占用较多的内存资源,可能会对应用程序的性能造成一定的影响。 父主题:
消息堆积原因 导致消息堆积的常见原因如下: 生产者短时间内生产大量消息到Topic,消费者无法及时消费。 消费者的消费能力不足(消费者并发低、消息处理时间长),导致消费效率低于生产效率。 消费者异常(如消费者故障、消费者网络异常等)导致无法消费消息。 Topic分区设置不合理,或新增分区无消费者消费。
\src\test\java\com\dms\consumer 消费消息的测试代码。 DmsProducerTest.java .\src\test\java\com\dms\producer 生产消息的测试代码。 pom.xml .\ maven配置文件,包含Kafka客户端引用。
Topic名称 replication Integer 副本数,配置数据的可靠性 partition Integer Topic分区数,设置消费的并发数。 retention_time Integer 消息老化时间。 sync_replication Boolean 是否开启同步复制,开
topic名称,长度为4-64,以字母开头且只支持大小写字母、中横线、下划线以及数字。 partition Integer 否 topic分区数,设置消费的并发数。 默认值为3,取值范围为1~100。 replication Integer 否 副本数,配置数据的可靠性 默认值为3,取值范围为1~3。
从Topic(消息主题)订阅消息的一方。订阅消息最终目的在于处理消息内容,如日志集成场景中,监控告警平台(消费者)从主题订阅日志消息,识别出告警日志并发送告警消息/邮件。 代理(Broker) 即Kafka集群架构设计中的单个Kafka进程,一个Kafka进程对应一台服务器,因此手册中描述
IP(使用DNAT访问) 步骤五:验证接口连通性 参考使用客户端连接Kafka(关闭SASL)或者使用客户端连接Kafka(开启SASL),测试是否可以生产和消费消息。 测试接口连通性时,注意以下几点: 连接Kafka实例的地址为“advertised.listeners IP:9011”,以图6
海量消息堆积与弹性扩容 内建的分布式集群技术,使得服务具有高度扩展性。分区数可配置多达200个,存储空间、代理数量和代理规格支持弹性扩展,保证在高并发、高性能和大规模场景下的访问能力,轻松实现百亿级消息的堆积和访问能力。 多规格灵活选择 Kafka实例的带宽与存储资源可灵活配置,并且自定义Topic的分区数、副本数。
"heartbeats", "B.checkpoints.internal" and # "mm2-offset-syncs.B.internal" # 测试环境可以为1,生产环境建议以下配置大于1,比如设为3 checkpoints.topic.replication.factor=3 heartbeats
listeners IP 步骤五:验证接口连通性 参考使用客户端连接Kafka(关闭SASL)或者使用客户端连接Kafka(开启SASL),测试是否可以生产和消费消息。 测试接口连通性时,注意以下几点: 连接Kafka实例的地址为“advertised.listeners IP:9011”,以图8