我的kafka版本是0.10.2.1。 我的服务的 qps 非常低(1 消息/秒)。而且我们对rtt的要求真的很严格。 ( 99.9% < 30 毫秒) 目前我遇到一个问题,当kafka运行很长时间,15天左右,性能开始下降。 2017-10-21 就像
Time . num of msgs . percentage
cost<=2ms 0 0.000%
2ms<cost<=5ms 12391 32.659%
5ms<cost<=8ms 25327 66.754%
8ms<cost<=10ms 186 0.490%
10ms<cost<=15ms 24 0.063%
15ms<cost<=20ms 2 0.005%
20ms<cost<=30ms 0 0.000%
30ms<cost<=50ms 4 0.011%
50ms<cost<=100ms 1 0.003%
100ms<cost<=200ms 0 0.000%
200ms< cost<=300ms 6 0.016%
300ms<cost<=500ms 0 0.000%
500ms<cost<=1s 0 0.000%
cost>1s 0 0.000%
但最近,它变成了:
cost<=2ms 0 0.000%
2ms<cost<=5ms 7592 29.202%
5ms<cost<=8ms 17470 67.197%
8ms<cost<=10ms 698 2.685%
10ms<cost<=15ms 143 0.550%
15ms<cost<=20ms 23 0.088%
20ms<cost<=30ms 19 0.073%
30ms<cost<=50ms 11 0.042%
50ms<cost<=100ms 5 0.019%
100ms<cost<=200ms 11 0.042%
200m s<cost<=300ms 26 0.100%
300ms<cost<=500ms 0 0.000%
500ms<cost<=1s 0 0.000%
cost>1s 0 0.000%
当我检查日志时,我没有找到一种方法来检查特定消息具有高 rtt 的原因。如果有任何优化方法(操作系统调整、代理配置),请赐教
最佳答案
如果没有请求处理时间分割,很难判断哪个部分可能是问题的罪魁祸首。更具体地说,您需要连接 jmx 并检查以下请求级别指标:
总时间女士 请求队列时间毫秒 本地时间Ms 远程时间MS 响应队列时间毫秒 响应发送时间毫秒
https://kafka.apache.org/documentation/#monitoring
检查一段时间内它们的平均值/99 百分位值,看看哪一个导致了性能下降。
关于apache-kafka - 卡夫卡延迟优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47123566/