弱弱的问个问题,我用新版本的org.apache.kafka.clients.producer.ProducerRecord.send(record)
发送消息很慢,需要200毫秒左右,
而用老版本的kafka.javaapi.producer.Producer.send(record)
发送消息反而快非常多。
一台Linux虚拟机,单机部署zookeeper和kafka,测试时用新版本producer发送500条数据,第一条50毫秒左右,后面的都是200毫秒左右。
下面是生产者客户端配置,大神帮忙看看哪里出问题了,谢谢
retries=0
linger.ms=0
acks=1
buffer.memory=33554432
key.serializer=org.apache.kafka.common.serialization.StringSerializer
value.serializer=org.apache.kafka.common.serialization.StringSerializer
用kafka自带的压测试试。
可以压测,我的consumer都能消费数据,我用新的org.apache.kafka.clients.producer.KafkaProducer也能发送消息,consumer也能消费到消息,只是新的Java版本生产者发送太慢了,不如用老的Scala版本的kafka.javaapi.producer.Producer生产者发送消息快。
那就不合理了,新版kafka生产者采用的单例模式,理论是更快才对。
我也感觉不太合理,如果服务器有问题,那个Scala版本的生产者应该也慢才对,但是就是新版本的慢,所以我就不知道是哪里出问题了,kafka版本是0.10.1.0
找到原因了,我把kafka版本升级到0.10.2.1,现在producer发送很快,发送一条数据基本在1-2毫秒。
之前kafka版本是多少。
0.10.1.0
你的答案