【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

相关文章
|
20天前
|
消息中间件 前端开发 Kafka
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
|
20天前
【Azure App Service】同一个App Service下创建多个测试站点的方式
【Azure App Service】同一个App Service下创建多个测试站点的方式
|
21天前
|
消息中间件 传感器 缓存
为什么Kafka能秒杀众多消息队列?揭秘它背后的五大性能神器,让你秒懂Kafka的极速之道!
【8月更文挑战第24天】Apache Kafka作为分布式流处理平台的领先者,凭借其出色的性能和扩展能力广受好评。本文通过案例分析,深入探讨Kafka实现高性能的关键因素:分区与并行处理显著提升吞吐量;批量发送结合压缩算法减少网络I/O次数及数据量;顺序写盘与页缓存机制提高写入效率;Zero-Copy技术降低CPU消耗;集群扩展与负载均衡确保系统稳定性和可靠性。这些机制共同作用,使Kafka能够在处理大规模数据流时表现出色。
31 3
|
21天前
|
消息中间件 Java Kafka
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
|
21天前
|
消息中间件 Java Kafka
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
|
21天前
|
消息中间件 Java Kafka
【Azure 事件中心】在Windows系统中使用 kafka-consumer-groups.bat 查看Event Hub中kafka的consumer groups信息
【Azure 事件中心】在Windows系统中使用 kafka-consumer-groups.bat 查看Event Hub中kafka的consumer groups信息
|
22天前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
22天前
|
缓存 NoSQL 测试技术
【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
|
5天前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
20 2
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
69 0