首先要看慢的原因,然后再谈优化。具体有哪些慢的原因不重要,主要是看你分析的过程。例如可以分解为三个问题,消息消费慢,消息处理慢,和写数据库慢。
1.消费慢可能原因有,生产者本身生产消息就很慢,消费者和Kafka之间网络有延迟,消费者所在节点有问题,例如消费者进程full Gc
2,消息处理慢,比如你的消息是压缩的,解压慢,比如业务逻辑中有没有多次copy消息,有没有锁竞争等待
3,最后是写数据库慢,看看数据库的监控,比如iops 连接池,索引等
还可以再发散一些,比如从日志和可监控手段讲一下,代码中有没有关键监控指标日志,有没有打印写数据库的评论rt 和tps,有没有打印一个消息面在业务测的平均处理时间。
再比如,吞吐低是不是突然发生的,是不是最近变更引起的。