我们与我们的消费者订阅了一个kafka制作人,在我们的实现中,我们每秒最多消耗200个事件。
对于测试我们收到字节并且不进行任何反序列化并立即丢弃它们,但我们仍然停留在最大值~200 / s
我们的消费者配置如下:
sbt(v0.13.5):"org.apache.kafka" % "kafka-clients" % "1.0.1"
val props: Properties = new Properties()
props.put(ConsumerConfig.CLIENT_ID_CONFIG, "some-client")
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "<list-of-kafka-brokers:6668>")
props.put(ConsumerConfig.GROUP_ID_CONFIG, "test")
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "true")
props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000")
props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "3000")
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.ByteArrayDeserializer")
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.ByteArrayDeserializer")
props.put(ConsumerConfig.FETCH_MIN_BYTES_CONFIG, "64")
props.put(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, "50")
props.put(ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, "2000")
props.put(CommonClientConfigs.RECEIVE_BUFFER_CONFIG, "102400")
知道什么可能导致我们的消费者最多只能处理200个最多?
PS:我们的机器是16GB内存,有8个内核和4GB的JVM堆空间