apache-kafka - 卡夫卡延迟优化

标签 apache-kafka

我的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/

相关文章:

java - Zipkin,使用现有库来处理与 Apache Kafka 连接的微服务中的跟踪

java - Kafka消费者没有返回任何记录

apache-kafka - 无法建立到节点 -1 的连接。经纪人可能不可用。 (org.apache.kafka.clients.NetworkClient)

python - Apache Flink : Kafka connector in Python streaming API, "Cannot load user class"

java - 在从 Kafka 代理获取数据之前,消费者如何检查架构注册表是否可访问?

apache-kafka - kafka 主题和分区决策

apache-kafka - 卡夫卡 : dynamically query configurations

apache-kafka - 访问 SSL-Auth 安全的 Kafka 代理/集群时需要 Java 生产者/消费者 kafka 客户端属性吗?

java - 在 kstreams 应用程序中使用自定义 Kafka 状态存储

java - 卡夫卡 : How can I create a fat Jar of the HDFS Kafka connector?