【Kafka】-Kafka服务端脚本详解(3)一性能测试脚本

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: Kafka服务端脚本详解(3)一性能测试脚本

WX20220610-163115@2x.png

脚本名称 脚本用途
kafka-producer-perf-test.sh kafka生产者性能测试脚本
kafka-consumer-perf-test.sh kafka消费者性能测试脚本
kafka-console-producer.sh kafka生产者控制台
kafka-console-consumer.sh kafka消费者控制台

kafka-producer-perf-test.sh

kafka生产者性能测试脚本

--topic

消息主题名称

----num-records

需要生产的消息数量

--payload-delimiter

指定--payload-file文件的分隔符,默认为换行符\n

--throughput

设置消息吞吐量,messages/sec

--producer-props

发送端配置信息,配置信息优先于 --producer.config

--producer.config

发送端配置文件

--print-metrics

是否打印测试指标,默认false

--transactional-id

用于测试并发事务的性能 (默认值:performance-producer-default-transactional-id)

--transaction-duration-ms

事务时间最大值,超过这个值就提交事务,只有>0时才生效

--record-size

每条消息字节数

--payload-file

测试数据文件

测试10w条数据,每条数据1000字节,每秒发送2000条数据

1[root@10 kafka_2.11-2.2.0]# bin/kafka-producer-perf-test.sh --producer-props bootstrap.servers=10.211.55.3:9092 --topic first --rerd-size 1000 --num-records 100000  --throughput 2000
 29999 records sent, 1999.8 records/sec (1.91 MB/sec), 8.6 ms avg latency, 406.0 ms max latency.
 310007 records sent, 2001.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 8.0 ms max latency.
 410002 records sent, 2000.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 10.0 ms max latency.
 510000 records sent, 2000.0 records/sec (1.91 MB/sec), 0.8 ms avg latency, 37.0 ms max latency.
 610008 records sent, 2001.2 records/sec (1.91 MB/sec), 0.6 ms avg latency, 7.0 ms max latency.
 710004 records sent, 2000.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 5.0 ms max latency.
 810000 records sent, 2000.0 records/sec (1.91 MB/sec), 0.8 ms avg latency, 35.0 ms max latency.
 910004 records sent, 2000.8 records/sec (1.91 MB/sec), 0.8 ms avg latency, 33.0 ms max latency.
1010004 records sent, 2000.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 5.0 ms max latency.
11100000 records sent, 1999.280259 records/sec (1.91 MB/sec), 1.50 ms avg latency, 406.00 ms max latency, 1 ms 50th, 2 ms 95th, 43 ms 99th, 91 ms 99.9th.

测试结果为:每秒发送1.91MB数据,平均延迟1.5ms,最大延迟406ms,延迟小于1ms占50%,小于2ms占95%…


kafka-consumer-perf-test.sh

kafka消费者性能测试脚本

--topic

消费的主题名称

--broker-list

kafka地址

--consumer.config

消费端配置文件

--date-format

格式化时间

--fetch-size

一次请求拉取的消息大小,默认 1048576字节

--from-latest

如果消费者还没有已建立的偏移量, 就从日志中的最新消息开始, 而不是最早的消息

--group

消费者组id,默认perf-consumer-94851

--hide-header

如果设置,就跳过打印统计信息的标题

--messages

要获取的消息数量

--num-fetch-threads

获取消息的线程数量

--print-metrics

打印指标信息

--reporting-interval

打印进度信息的间隔,默认 5000ms

--show-detailed-stats

如果设置,将按--reporting-interval的间隔打印统计信息

--socket-buffer-size

TCP获取信息的缓存大小 默认 2097152(2M)

--threads

处理线程数,默认10

--timeout

返回记录的超时时间

测试消费50w条数据

1[root@10 kafka_2.11-2.2.0]# bin/kafka-consumer-perf-test.sh --topic first --broker-list 10.211.55.3:9092 --messages 500000  --timeout 300000
2start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
32019-05-30 01:21:27:072, 2019-05-30 01:21:30:801, 488.6162, 131.0314, 500343, 134176.1866, 25, 3704, 131.9158, 135081.8035

测试结果为:共消费488.6162MB数据,每秒消费131.0314MB,共消费500343条数据,每秒消费134176.1866条

相关文章
|
2月前
|
消息中间件 监控 大数据
优化Apache Kafka性能:最佳实践与调优策略
【10月更文挑战第24天】作为一名已经对Apache Kafka有所了解并有实际使用经验的开发者,我深知在大数据处理和实时数据流传输中,Kafka的重要性不言而喻。然而,在面对日益增长的数据量和业务需求时,如何保证系统的高性能和稳定性成为了摆在我们面前的一个挑战。本文将从我的个人视角出发,分享一些关于如何通过合理的配置和调优来提高Kafka性能的经验和建议。
101 4
|
3月前
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
50 1
|
16天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
2月前
|
存储 监控 测试技术
测试脚本编写和维护的最佳实践有哪些?
测试脚本编写和维护的最佳实践有哪些?
126 50
|
2月前
|
SQL 测试技术 API
如何编写API接口的自动化测试脚本
本文详细介绍了编写API自动化测试脚本的方法和最佳实践,涵盖确定测试需求、选择测试框架、编写测试脚本(如使用Postman和Python Requests库)、参数化和数据驱动测试、断言和验证、集成CI/CD、生成测试报告及维护更新等内容,旨在帮助开发者构建高效可靠的API测试体系。
|
2月前
|
存储 监控 前端开发
如何确保测试脚本的稳定性和可靠性?
确保测试脚本的稳定性和可靠性是保证性能测试结果准确有效的关键
|
2月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
2月前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
37 1
|
2月前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
49 1
|
3月前
|
消息中间件 存储 监控
说说如何解决RocketMq消息积压?为什么Kafka性能比RocketMq高?它们区别是什么?
【10月更文挑战第8天】在分布式系统中,消息队列扮演着至关重要的角色,它不仅能够解耦系统组件,还能提供异步处理、流量削峰和消息持久化等功能。在众多的消息队列产品中,RocketMQ和Kafka无疑是其中的佼佼者。本文将围绕如何解决RocketMQ消息积压、为什么Kafka性能比RocketMQ高以及它们之间的区别进行深入探讨。
124 1