提问人:George 提问时间:11/14/2023 最后编辑:egleaseGeorge 更新时间:11/15/2023 访问量:27
使用 sarama 库手动提交偏移量变得非常慢
Commit the offset by manual using sarama library becomes very slow
问:
当我使用 kafka-producer-perf-test.sh 模拟生产者向具有 2 个分区的主题“t”发送 10,000 条消息,并使用下面提到的设置为 3 的消费者代码时,我观察到,当使用消息编号 9,748 时,操作变得非常慢,大约需要 500-1,004 毫秒。但是,当使用数字 9,747 以上的消息时,该操作只需要大约 1-3 毫秒。dfv1.CommitN
sess.Commit()
sess.Commit()
func (h *handler) ConsumeClaim(sess sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
i := 0
for m := range claim.Messages() {
msg := m.Value
if err := h.f(context.Background(), msg); err != nil {
// noop
} else {
sess.MarkMessage(m, "")
i++
if i%dfv1.CommitN == 0 {
t1 := time.Now()
sess.Commit()
t2 := time.Now()
fmt.Printf("consume cost: %d ms\n", t2.Sub(t1).milliSeconds)
}
}
}
return nil
}
为什么消费消息编号 9747 后消费变慢?
希望每个成本时间约为 1-3 毫秒sess.Commit()
答: 暂无答案
评论