【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

问题描述

Azure Event Hub支持 kafka,所以为了测试消息生产者所在环境与Azure Event  Hub之间发送消息的性能如何,特别使用 kafka 官方测试生产者,消费者的性能工具 :

  • kafka-producer-perf-test.bat
  • kafka-consumer-perf-test.bat

(.bat 表示为Windows系统中运行, .sh表示在Linux系统中远行)

这些文件包含在kafka软件包中:https://kafka.apache.org/downloads

 

实现步骤

第一步:解压 kafka ,在bin/windows文件夹中,找到 kafka-producer-perf-test.bat 文件

 

第二步:通过CMD,执行 ” kafka-producer-perf-test.bat --help ” 来查看指令的参数

在本文中测试Azure  Event Hub 需要配置的参数有:

1) --topic :指定消息需要发送到哪一个Event Hub  (注意:kafka的Topic对应于Azure Event Hub Namespace下的一个Event Hub)

2)--num-records : 指定发送多少条消息到Event Hub中

3)--record-size :设置每一条消息的大小,单位是 bytes (1个字节)

4)--throughput :-1 表示不设置吞吐量的限制(throttle maximum message throughput to *approximately* THROUGHPUT messages/sec.  Set this to -1 to disable throttling.)

5)--producer.config : 设置生产者的服务器配置信息,设置Event Hub Namespace的Connection String

## 基本设置
bootstrap.servers=*****.servicebus.chinacloudapi.cn:9093
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://*****.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=***************";

注:sasl.jaas.config中的connection string内容,需要从Azure Event Hub 的 Shared access policie 获取。把以上内容保存在一个单独文件中,如 kafka-producer-perf-test-config.txt

 

第三步:启动测试命令,然后查看输出结果

下面的命令表示:发送50万条1kb的数据到 test_topic 中

kafka-producer-perf-test.bat  --topic test_topic --num-records 500000 --record-size 1024 --throughput -1 --producer.config   kafka-producer-perf-test-config.txt

测试的结果显示:

3720 records sent, 743.6 records/sec (0.73 MB/sec), 47367.8 ms avg latency, 49685.0 ms max latency.

表示已经发送 3720条数据,每秒发送743条,平均延迟在47秒,最大延迟49秒 (>_< 测试机器网速堪忧啊!)

 

同理,使用(kafka-consumer-perf-test.bat)也可以测试消费端的性能。

 

参考资料

Kafka : https://kafka.apache.org

相关文章
|
3月前
|
消息中间件 前端开发 Kafka
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
|
20天前
|
消息中间件 中间件 Kafka
解锁Kafka等消息队列中间件的测试之道
在这个数字化时代,分布式系统和消息队列中间件(如Kafka、RabbitMQ)已成为日常工作的核心组件。本次公开课由前字节跳动资深专家KK老师主讲,深入解析消息队列的基本原理、架构及测试要点,涵盖功能、性能、可靠性、安全性和兼容性测试,并探讨其主要应用场景,如应用解耦、异步处理和限流削峰。课程最后设有互动答疑环节,助你全面掌握消息队列的测试方法。
|
3月前
【Azure App Service】同一个App Service下创建多个测试站点的方式
【Azure App Service】同一个App Service下创建多个测试站点的方式
|
3月前
|
消息中间件 安全 机器人
【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤
【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤
|
3月前
|
消息中间件 域名解析 网络协议
【Azure 应用服务】部署Kafka Trigger Function到Azure Function服务中,解决自定义域名解析难题
【Azure 应用服务】部署Kafka Trigger Function到Azure Function服务中,解决自定义域名解析难题
|
4天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
28 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
56 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
230 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
242 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
39 0