kafka场景测试(1)--消费者长时间消费
2016-12-29 00:00
375 查看
摘要: 本文主要记录kafka消费者在长时间消费场景的一些测试情况
客户端版本:0.10.1.0
集群节点: 3
Topic名称:test-order-topic
Topic详情:
Topic: test-order-topic PartitionCount:3 ReplicationFactor:2 Configs:
Topic: test-order-topic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: test-order-topic Partition: 1 Leader: 1 Replicas: 1,2 Isr: 1,2
Topic: test-order-topic Partition: 2 Leader: 2 Replicas: 2,0 Isr: 2,0
enable.auto.commit:true
Auto.commit.interval.ms:1000
Max.poll.interval.ms = 60 * 1000 (default = 300000)
Consumer.poll(100)
测试情况:
结果:当阻塞时间超过参数Max.poll.interval.ms设置的时间,当前consumer会被移除consumer group;consumer group会rebalance。当阻塞时间到期后,当前consumer会重连broker进行消费。
enable.auto.commit:false
Auto.commit.interval.ms:1000
Max.poll.interval.ms = 60 * 1000 (default = 300000)
Consumer.poll(100)
测试情况:
结果:在sync commit模式下,当阻塞时间超过参数Max.poll.interval.ms设置的时间,阻塞的线程恢复之后会抛出CommitFailedException异常,不会继续消费;需要捕获并处理异常,即可继续消费。
enable.auto.commit:false
Auto.commit.interval.ms:1000
Max.poll.interval.ms = 60 * 1000 (default = 300000)
Consumer.poll(100)
测试情况:
结果:在sync commit模式下,当阻塞时间超过参数Max.poll.interval.ms设置的时间,阻塞的线程恢复之后会抛出CommitFailedException异常,会重连继续消费。
一、测试环境
版本:kafka_2.11-0.10.1.0客户端版本:0.10.1.0
集群节点: 3
Topic名称:test-order-topic
Topic详情:
Topic: test-order-topic PartitionCount:3 ReplicationFactor:2 Configs:
Topic: test-order-topic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: test-order-topic Partition: 1 Leader: 1 Replicas: 1,2 Isr: 1,2
Topic: test-order-topic Partition: 2 Leader: 2 Replicas: 2,0 Isr: 2,0
二、Auto Commit 自动提交
消费者关键参数:enable.auto.commit:true
Auto.commit.interval.ms:1000
Max.poll.interval.ms = 60 * 1000 (default = 300000)
Consumer.poll(100)
测试情况:
并发 | 处理阻塞线程 | 消息发送频率 | 阻塞时间 | 消息总数 | 重复消费 | 消息丢失 |
2 | 1 | 10ms | 3min | 20000 | 267 | 不丢失 |
2 | 1 | 10ms | 3min | 20000 | 14 | 不丢失 |
2 | 1 | 10ms | 3min | 20000 | 64 | 不丢失 |
三、Sync Commit 同步提交
消费者关键参数:enable.auto.commit:false
Auto.commit.interval.ms:1000
Max.poll.interval.ms = 60 * 1000 (default = 300000)
Consumer.poll(100)
测试情况:
并发 | 处理阻塞线程 | 阻塞线程是否继续执行 | 消息发送频率 | 阻塞时间 | 消息总数 | 重复消费 | 消息丢失 |
2 | 1 | 否 | 10ms | 3min | 20000 | 1 | 不丢失 |
2 | 1 | 否 | 10ms | 3min | 20000 | 1 | 不丢失 |
2 | 1 | 否 | 10ms | 3min | 20000 | 1 | 不丢失 |
四、Async Commit 异步提交
消费者关键参数:enable.auto.commit:false
Auto.commit.interval.ms:1000
Max.poll.interval.ms = 60 * 1000 (default = 300000)
Consumer.poll(100)
测试情况:
并发 | 处理阻塞线程 | 阻塞线程是否继续执行 | 消息发送频率 | 阻塞时间 | 消息总数 | 重复消费 | 消息丢失 |
2 | 1 | 是 | 10ms | 3min | 20000 | 1 | 不丢失 |
2 | 1 | 是 | 10ms | 3min | 20000 | 1 | 不丢失 |
2 | 1 | 是 | 10ms | 3min | 20000 | 1 | 不丢失 |
相关文章推荐
- kafka场景测试(2)--消费者宕机rebalance
- kafka之partition消费者并行度测试心得
- kafka无法正常生产消费,但依旧可以创建生产者和消费者
- Kafka java api-消费者代码与消费分析、生产者消费者配置文件详解
- spring整合kafka项目生产和消费测试结果记录(一)
- kafka中消费者消费消息是阻塞的
- kafka消费者客户端启动之后消费不到消息的原因分析
- (场景)kafka的topic多分区的情况,如何保证跨区的消息消费的顺序性
- RocketMQ多线程场景生产和消费TPS测试
- Kafka异常处理(消费者不消费数据)
- zookeeper-kafka环境搭建,生产者消费者终端测试
- spring整合kafka项目生产和消费测试结果记录(一)
- kafka消费者如何才能从头开始消费某个topic的全量数据
- Kafka异常处理(消费者不消费数据)
- 第89课程 Spark STREAMING kafka 测试完成!生产者发数据,消费者收数据
- kafka集群部署以及java客户端测试
- NGINX反向代理在测试中的几个应用场景
- 如何使用lsp的hook技术解决TCP链接超时测试场景的模拟
- [Kafka] - Kafka内核理解:消息的收集/消费机制
- 如何管理Spark Streaming消费Kafka的偏移量(一)