Kafka性能监控
1 查看机器负载top:
右上角 load average 的 3 个值 1.29 ,0.74, 1.34 代表过去1分钟、5分钟 、15分钟load average
假如 load值为5.2, cpu核数为4 ,则存在进程抢不到CPU。 如下值1.29说明负载较小,均负载在1.29/4 = 0.32
如果load值越来越大,说明负载持续增加
4 个 CPU 核,总 CPU 使用率是2.2,那么,平均每个 CPU 的使用率大致是 0.55%。
2 kafka /JVM GC。
kafka的GC日志:/run/cloudera-scm-agent/process/150-kafka-KAFKA_BROKER
日志文件名类似:kafkaServer-gc.log
GC说明,参看 https://blog.****.net/qq_38157516/article/details/80451599
https://blog.****.net/xiaodu93/article/details/61926114
http://www.knowsky.com/957110.html
2.1 FULL GC频率和时长
长时间的停顿会令 Broker 端抛出各种超时异常。
2.2 活跃对象大小
这个指标是你设定堆大小的重要依据,同时它还能帮助你细粒度地调优 JVM 各个代的堆大小。
活跃对象大小,即经过FULL GC后,老年代还剩余的存活对象大小(可以取多次平均值)。
如果FULL GC后剩余对象500M存活,设置老年代堆大小设置成该数值的 1.5 倍或 2 -3倍,即大约 1.0GB比较安全。
newRatio参数,设定了新生代和老年代比值,默认值为2(old/new). 一般设置为老年存活对象的1.2到2倍
永久代设置1.2-2倍。
具体设置建议,参考:https://blog.****.net/zfgogo/article/details/81260172
如果频繁FULL GC, 可以开启 G1 的 -XX:+PrintAdaptiveSizePolicy 开关(默认的 GC 收集器设置为 G1),让 JVM 告诉你到底是谁引发了 Full GC。
2.3 应用线程总数。这个指标帮助你了解 Broker 进程对 CPU 的使用情