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

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

时间:2023-05-23 21:32:51浏览次数:52  
标签:producer Hub -- 性能 kafka 测试工具 test Azure Event

问题描述

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 文件

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

 

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

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

在本文中测试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

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

 

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

 下面的命令表示:发送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

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

测试的结果显示:

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 

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

标签:producer,Hub,--,性能,kafka,测试工具,test,Azure,Event
From: https://blog.51cto.com/u_13773780/6334783

相关文章

  • 【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发
    问题描述AzureEventHub支持kafka,所以为了测试消息生产者所在环境与AzureEvent Hub之间发送消息的性能如何,特别使用kafka官方测试生产者,消费者的性能工具:kafka-producer-perf-test.batkafka-consumer-perf-test.bat(.bat表示为Windows系统中运行,.sh表示在Linux系......
  • C# 读取网络上下行(不要使用性能计数器的方式)
    C#读取网络上下行有多种方式,其中有一种是使用System.Net.NetworkInformation命名空间中的NetworkInterface类和PerformanceCounter类,该方式其实读的是windows系统的性能计数器中的NetworkInterface类别的数据。方式如下:NetworkInterfacenetworkInterface=NetworkInterface......
  • 【性能测试】rpc接口性能测试方案
    1、自封装基于jmeter的测试方案性能测试|Rpc接口压测-简书 2、基于jmeter的GRPC插件(64条消息)如何针对Grpc接口进行测试之三种方式_grpc接口测试_罐装七喜的博客-CSDN博客 3、基于python自己编写并统计 总结:相对来说,还是Jmeter基于插件的方式比较实用 ......
  • Q420MC力学性能、Q420MC切割加工、Q420MC期货订轧
    一、Q420MC钢板简介:Q420MC钢板系列有:Q420MB、Q420MC、Q420MD、Q420ME。Q、表示屈服强度“屈”字的拼音首字母;420是屈服值,M热机械轧制,C代表级别,表示钢板是0度冲击;当需方要求钢板具有厚度方向性能时,则在上述规定的牌号后加上代表厚度方向(Z向)性能级别的符号,如:Q420MCZ15、Q420MCZ......
  • 性能测试基础
    什么是性能测试简单的说,性能测试就是利用自动化工具,对服务器性能进行评估的过程。评估方式:使用性能指标进行评估(响应时间,TPS,服务器资源占用率)评估方向:硬件、架构设计、中间件、数据库、代码、操作系统、算法中间件:指系统与系统之间连接的组件,包括tomcat,nginx,redis等 性......
  • m基于matlab的LDPC译码算法性能仿真,对比BP译码,最小和译码以及归一化偏移最小和译码
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要       LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和......
  • 【CentOS 7系统管理员必看】如何轻松检测软中断,优化系统性能?
    在CentOS7中,软中断是一种中断类型,它由内核发起并在内核空间中执行,用于处理网络、存储和其他异步事件。软中断的主要工作是将网络数据包、磁盘IO等异步事件传递给应用程序的工作队列中,以便应用程序可以及时处理这些事件。然而,如果软中断的数量过多,就会对系统的性能产生负面影响,......
  • linux DOS partition table 和 GPT partition table 在兼容性和性能上有什么区别,为什
    DOS分区表(也称为MBR分区表)和GPT分区表是两种不同的磁盘分区方案,它们在兼容性和性能方面有一些区别。兼容性:DOS分区表:DOS分区表是旧的磁盘分区方案,它在早期广泛使用,并且被几乎所有操作系统所支持,包括Windows、Linux和macOS。GPT分区表:GPT分区表是一种较新的磁盘......
  • 京东购物车如何提升30%性能
    1、背景购物车面临的挑战:1)新业务:随着业务形态的丰富,购物车在不断支持各种新业务,依赖的外部接口也随之增加;2)下沉:一些前端调用的接口下沉到购物车中台;3)前置:结算流程很多业务前置到购物车中,如优惠券、京豆;4)扩容:为改善用户体验购物车可容纳的商品数量在不断增长;这些导致购物车......
  • 程序6种性能优化
    这6种性能优化,让你的程序飞起来!软件设计开发某种意义上是"取"与"舍"的艺术。关于性能方面,就像建筑设计成抗震9度需要额外的成本一样,高性能软件系统也意味着更高的实现成本,有时候与其他质量属性甚至会冲突,比如安全性、可扩展性、可观测性等等。大部分时候我们需要的是:在业务遇到......