1. 发送1024条消息--num-records 100
并且每条消息大小为1KB--record-size 1024
最大吞吐量每秒10000条--throughput 100
sh bin/kafka-producer-perf-test.sh --topic test_create_topic4 --num-records 100 --throughput 100000 --producer-props bootstrap.servers=localhost:9092 --record-size 1024
你可以通过LogIKM查看分区是否增加了对应的数据大小
从LogIKM 可以看到发送了1024条消息; 并且总数据量=1M; 1024条*1024byte = 1M;
2. 用指定消息文件--payload-file
发送100条消息最大吞吐量每秒100条--throughput 100
batchmessage.txt
batchmessage.txt
里面随机选择; 注意这里我们没有用参数--payload-delimeter
指定分隔符,默认分隔符是\n换行;
bin/kafka-producer-perf-test.sh --topic test_create_topic4 --num-records 1024 --throughput 100 --producer-props bootstrap.servers=localhost:9090 --payload-file config/batchmessage.txt
相关可选参数
参数 | 描述 | 例子 |
---|---|---|
--topic | 指定消费的topic | |
--num-records | 发送多少条消息 | |
--throughput | 每秒消息最大吞吐量 | |
--producer-props | 生产者配置, k1=v1,k2=v2 | --producer-props bootstrap.servers= localhost:9092,client.id=test_client |
--producer.config | 生产者配置文件 | --producer.config config/producer.propeties |
--print-metrics | 在test结束的时候打印监控信息,默认false | --print-metrics true |
--transactional-id | 指定事务 ID,测试并发事务的性能时需要,只有在 --transaction-duration-ms > 0 时生效,默认值为 performance-producer-default-transactional-id | |
--transaction-duration-ms | 指定事务持续的最长时间,超过这段时间后就会调用 commitTransaction 来提交事务,只有指定了 > 0 的值才会开启事务,默认值为 0 | |
--record-size | 一条消息的大小byte; 和 --payload-file 两个中必须指定一个,但不能同时指定 | |
--payload-file | 指定消息的来源文件,只支持 UTF-8 编码的文本文件,文件的消息分隔符通过 --payload-delimeter指定,默认是用换行\nl来分割的,和 --record-size 两个中必须指定一个,但不能同时指定 ; 如果提供的消息 | |
--payload-delimeter | 如果通过 --payload-file 指定了从文件中获取消息内容,那么这个参数的意义是指定文件的消息分隔符,默认值为 \n,即文件的每一行视为一条消息;如果未指定--payload-file则此参数不生效;发送消息的时候是随机送文件里面选择消息发送的; |
消费100条消息--messages 100
sh bin/kafka-consumer-perf-test.sh -topic test_create_topic4 --bootstrap-server localhost:9090 --messages 100
相关可选参数
参数 | 描述 | 例子 |
---|---|---|
--bootstrap-server | ||
--consumer.config | 消费者配置文件 | |
--date-format | 结果打印出来的时间格式化 | 默认:yyyy-MM-dd HH:mm:ss:SSS |
--fetch-size | 单次请求获取数据的大小 | 默认1048576 |
--topic | 指定消费的topic | |
--from-latest | ||
--group | 消费组ID | |
--hide-header | 如果设置了,则不打印header信息 | |
--messages | 需要消费的数量 | |
--num-fetch-threads | feth 数据的线程数 | 默认:1 |
--print-metrics | 结束的时候打印监控数据 | |
--show-detailed-stats | ||
--threads | 消费线程数; | 默认 10 |