检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 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体验版实例规格为EXP,为单代理实例,不支持Kafka Manager、Smart Connect和多AZ等功能。 Kafka体验版实例只适用体验和业务测试场景,无法保证性能和可靠性。如果需要在生产环境使用Kafka实例,建议购买按需或包年包月的Kafka实例。 Kafka体验版仅在华南-广州的区域支持,其他区域暂不支持。
a实例的最大消息数量。下表中TPS性能,是指以1KB大小的消息为例的每秒处理消息条数。测试场景为连接内网访问明文接入、磁盘类型为超高I/O的实例。如果您想要了解更多关于TPS的性能,请参考测试Kafka实例TPS。 表1 Kafka集群实例规格 规格名称 代理个数范围 单个代理TPS
本文将介绍按需计费Kafka实例的计费规则。 适用场景 按需计费适用于具有不能中断的短期、突增或不可预测的应用或服务,例如电商抢购、临时测试、科学计算。 适用计费项 分布式消息服务Kafka版对您选择的Kafka实例和Kafka的磁盘存储空间收费。以下计费项支持按需计费。 表1
\src\test\java\com\dms\consumer 消费消息的测试代码。 DmsProducerTest.java .\src\test\java\com\dms\producer 生产消息的测试代码。 pom.xml .\ maven配置文件,包含Kafka客户端引用。
IP(使用DNAT访问) 步骤五:验证接口连通性 参考使用客户端连接Kafka(关闭SASL)或者使用客户端连接Kafka(开启SASL),测试是否可以生产和消费消息。 测试接口连通性时,注意以下几点: 连接Kafka实例的地址为“advertised.listeners IP:9011”,以图6
"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
Kafka特性。 稳定性高,基于librdkafka,具有高性能和低延迟的特点。 增加编译复杂度。由于导入C++库,Golang编译器需要引入额外编译配置,增加了编译依赖,提高编译复杂度。 Kafka-go kafka-go是一个简单、轻量级的Kafka客户端库,易于学习和使用。
套餐规格 选择“综合推荐”中的“入门版”。入门版面向入门级用户,提供兼容开源协议的托管Kafka服务,适用于性能诉求不高、时延容忍度较高的成本敏感业务或测试环境等。 单个代理存储空间 根据实际需要选择存储Kafka数据的磁盘类型和磁盘大小。 实例总存储空间 = 单个代理的存储空间 *
#安全协议为“SASL_PLAINTEXT”时,配置信息如下。 security.protocol=SASL_PLAINTEXT 生产消息 测试代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
本高。 实践验证 成熟度高 经受电商网站大规模访问考验,并且已经在华为云许多产品中使用,广泛部署运行在分布于世界各地的电信级客户云业务系统里。满足严苛的电信级故障模式库标准。紧随社区主流版本,修复开源bug,持续上线新功能,进行版本升级。 使用开源软件成熟度低,无法保证关键业务,
从消息堆积的原因看,消息堆积问题可以从消费者端、生产者端和服务端三个方面进行处理。 消费者端 根据实际业务需求,合理增加消费者个数(消费并发度),确保分区数/消费者数=整数,建议消费者数和分区数保持一致。 提高消费者的消费速度,通过优化消费者处理逻辑(减少复杂计算、第三方接口调用和读库操作),减少消费时间。
启“同步消费进度”,此时会导致数据重复复制,且目标Topic消费进度异常。 图1 复制数据规则配置 (可选)在页面右下角单击“开始检测”,测试两端Kafka实例的连通性。 显示“连通性检测成功”时,表示两端Kafka实例可以正常连接。 单击“立即创建”,跳转到Smart Conn
String 否 当ssl_enable为true时,该参数必选, ssl_enable为false时,该参数无效。 实例的认证密码。 复杂度要求: 输入长度为8到32位的字符串。 必须包含如下四种字符中的三种组合: 小写字母 大写字母 数字 特殊字符包括(`~!@#$%^&*()-_=+\|[{}]:'"
参数类型 描述 new_password 否 String 用户新密码。 重置用户密码时,为必选参数; 不能与名称或倒序的名称相同。 复杂度要求: 输入长度为8到32位的字符串。 必须包含如下四种字符中的三种组合: 小写字母 大写字母 数字 特殊字符包括(`~!@#$%^&*()-_=+|[{}]:'"