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

介绍两个Kafka性能测试脚本,对调优及负载测试很有帮助

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

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条数据

[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
9999 records sent, 1999.8 records/sec (1.91 MB/sec), 8.6 ms avg latency, 406.0 ms max latency.
10007 records sent, 2001.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 8.0 ms max latency.
10002 records sent, 2000.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 10.0 ms max latency.
10000 records sent, 2000.0 records/sec (1.91 MB/sec), 0.8 ms avg latency, 37.0 ms max latency.
10008 records sent, 2001.2 records/sec (1.91 MB/sec), 0.6 ms avg latency, 7.0 ms max latency.
10004 records sent, 2000.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 5.0 ms max latency.
10000 records sent, 2000.0 records/sec (1.91 MB/sec), 0.8 ms avg latency, 35.0 ms max latency.
10004 records sent, 2000.8 records/sec (1.91 MB/sec), 0.8 ms avg latency, 33.0 ms max latency.
10004 records sent, 2000.4 records/sec (1.91 MB/sec), 0.7 ms avg latency, 5.0 ms max latency.
100000 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条数据

[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
start.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
2019-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条

转载于:https://my.oschina.net/itsaysay/blog/3057559

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值