Kafka 中的性能测试
Performance testing in Kafka
有人可以解释一下在 Kafka 中如何使用性能测试,
bin/kafka-consumer-perf-test.sh --topic benchmark-3-3-none \
--zookeeper kafka-zk-1:2181,kafka-zk-2:2181,kafka-zk-3:2181 \
--messages 15000000 \
--threads 1
和
bin/kafka-producer-perf-test.sh --topic benchmark-1-1-none \
--num-records 15000000 \
--record-size 100 \
--throughput 15000000 \
--producer-props \
acks=1 \
bootstrap.servers=kafka-kf-1:9092,kafka-kf-2:9092,kafka-kf-3:9092 \
buffer.memory=67108864 \
compression.type=none \
batch.size=8196
我不清楚参数是什么,应该获得什么输出。我将如何检查我是否向 Kafka 主题发送了 1000 条消息,它的性能和确认。
我宁愿建议使用像 Apache JMeter and Pepper-Box - Kafka Load Generator 这样的专门性能测试工具来对您的 Kafka 安装进行负载测试。
通过这种方式,您将能够完全控制线程、启动时间、消息大小和内容等来执行负载。您还能够生成 HTML Reporting Dashboard 具有以下内容的表格和图表有趣的指标。
如有需要,请参阅 Apache Kafka - How to Load Test with JMeter 文章了解更多详细信息。
当我们 运行 时,我们得到以下结果,
制作人
| start.time | end.time | compression | message.size | batch.size | total.data.sent.in.MB | MB.sec | total.data.sent.in.nMsg | nMsg.sec |
| 2016-02-03 21:38:28:094 | 2016-02-03 21:38:28:449 | 0 | 100 | 200 | 0.01 | 0.0269 | 100 | 281.6901 |
其中,
• total.data.sent.in.MB 显示发送到群集的总数据量(以 MB 为单位)。
• MB.sec 表示每秒传输的数据量(以 MB 为单位)(吞吐量大小)。
• total.data.sent.in.nMsg 将显示在此测试期间发送的消息总数。
• 最后一个 nMsg.sec 显示每秒发送了多少消息(吞吐量基于消息数量
消费者
| start.time | end.time | fetch.size | data.consumed.in.MB | MB.sec | data.consumed.in.nMs | nMsg.sec |
| 2016-02-04 11:29:41:806 | 2016-02-04 11:29:46:854 | 1048576 | 0.0954 | 1.9869 | 1001 | 20854.1667
其中,
• start.time、end.time 将显示测试何时开始和完成。
• fetch.size** 显示单个请求中要获取的数据量。
• data.consumed.in.MB**** 显示消耗的所有消息的大小。
• ***MB.sec* 表示每秒传输的数据量(以 MB 为单位)(吞吐量大小)。
• data.consumed.in.nMsg 将显示在此测试期间消耗的消息总数。
• 最后一个 nMsg.sec 显示每秒消耗了多少消息(消息计数的吞吐量)。
有人可以解释一下在 Kafka 中如何使用性能测试,
bin/kafka-consumer-perf-test.sh --topic benchmark-3-3-none \
--zookeeper kafka-zk-1:2181,kafka-zk-2:2181,kafka-zk-3:2181 \
--messages 15000000 \
--threads 1
和
bin/kafka-producer-perf-test.sh --topic benchmark-1-1-none \
--num-records 15000000 \
--record-size 100 \
--throughput 15000000 \
--producer-props \
acks=1 \
bootstrap.servers=kafka-kf-1:9092,kafka-kf-2:9092,kafka-kf-3:9092 \
buffer.memory=67108864 \
compression.type=none \
batch.size=8196
我不清楚参数是什么,应该获得什么输出。我将如何检查我是否向 Kafka 主题发送了 1000 条消息,它的性能和确认。
我宁愿建议使用像 Apache JMeter and Pepper-Box - Kafka Load Generator 这样的专门性能测试工具来对您的 Kafka 安装进行负载测试。
通过这种方式,您将能够完全控制线程、启动时间、消息大小和内容等来执行负载。您还能够生成 HTML Reporting Dashboard 具有以下内容的表格和图表有趣的指标。
如有需要,请参阅 Apache Kafka - How to Load Test with JMeter 文章了解更多详细信息。
当我们 运行 时,我们得到以下结果,
制作人
| start.time | end.time | compression | message.size | batch.size | total.data.sent.in.MB | MB.sec | total.data.sent.in.nMsg | nMsg.sec |
| 2016-02-03 21:38:28:094 | 2016-02-03 21:38:28:449 | 0 | 100 | 200 | 0.01 | 0.0269 | 100 | 281.6901 |
其中,
• total.data.sent.in.MB 显示发送到群集的总数据量(以 MB 为单位)。
• MB.sec 表示每秒传输的数据量(以 MB 为单位)(吞吐量大小)。
• total.data.sent.in.nMsg 将显示在此测试期间发送的消息总数。
• 最后一个 nMsg.sec 显示每秒发送了多少消息(吞吐量基于消息数量
消费者
| start.time | end.time | fetch.size | data.consumed.in.MB | MB.sec | data.consumed.in.nMs | nMsg.sec |
| 2016-02-04 11:29:41:806 | 2016-02-04 11:29:46:854 | 1048576 | 0.0954 | 1.9869 | 1001 | 20854.1667
其中,
• start.time、end.time 将显示测试何时开始和完成。
• fetch.size** 显示单个请求中要获取的数据量。
• data.consumed.in.MB**** 显示消耗的所有消息的大小。
• ***MB.sec* 表示每秒传输的数据量(以 MB 为单位)(吞吐量大小)。
• data.consumed.in.nMsg 将显示在此测试期间消耗的消息总数。
• 最后一个 nMsg.sec 显示每秒消耗了多少消息(消息计数的吞吐量)。