5.【kafka运维】生产者消费组压力测试运维(5)

8月更文挑战|全新玩法打怪升级,奖品叠加拿到手软🎁

日常运维问题排查 怎么能够少了滴滴开源的
滴滴开源LogiKM一站式Kafka监控与管控平台

1.生产者压力测试kafka-producer-perf-test.sh

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

  1. 先配置好消息文件batchmessage.txt
    在这里插入图片描述

  2. 然后执行命令
    发送的消息会从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

  3. 验证消息,可以通过 LogIKM 查看发送的消息

    在这里插入图片描述


相关可选参数

参数 描述 例子
--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则此参数不生效;发送消息的时候是随机送文件里面选择消息发送的;

2.消费者压力测试kafka-consumer-perf-test.sh

消费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

More

Kafka专栏持续更新中...(源码、原理、实战、运维、视频、面试视频)


【kafka运维】Kafka全网最全最详细运维命令合集(精品强烈建议收藏!!!)_石臻臻的杂货铺-CSDN博客

【kafka实战】分区重分配可能出现的问题和排查问题思路(生产环境实战,干货!!!非常干!!!建议收藏)

【kafka异常】kafka 常见异常处理方案(持续更新! 建议收藏)

【kafka运维】分区从分配、数据迁移、副本扩缩容 (附教学视频)

【kafka源码】ReassignPartitionsCommand源码分析(副本扩缩、数据迁移、副本重分配、副本跨路径迁移

【kafka】点击更多....