kafka JVM调优

58 篇文章 0 订阅
7 篇文章 0 订阅

Kafka 堆内存建议每个节点:10G ~ 15G ,在 kafka-server-start.sh 中修改

vim bin/kafka-server-start.sh

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then     
	export KAFKA_HEAP_OPTS="-Xmx10G -Xms10G" 
fi

查看 Kafka 进程号

[root@hadoop100 bin]# jps
1122 QuorumPeerMain
12834 Jps
1519 Kafka

根据 Kafka 进程号,查看 Kafka 的 GC 情况

[root@hadoop100 bin]# jstat -gc 1519 1s 10 
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
 0.0   5120.0  0.0   5120.0 454656.0 412672.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 412672.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 412672.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 412672.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 413696.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 413696.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 413696.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 413696.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 414720.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655
 0.0   5120.0  0.0   5120.0 454656.0 414720.0 1637376.0   147725.0  50044.0 45195.5 6524.0 5946.2     14    0.655   0      0.000    0.655

参数说明:

S0C:第一个幸存区的大小;      S1C:第二个幸存区的大小 
S0U:第一个幸存区的使用大小;  S1U:第二个幸存区的使用大小 
EC:伊甸园区的大小;           EU:伊甸园区的使用大小 
OC:老年代大小;               OU:老年代使用大小 
MC:方法区大小;               MU:方法区使用大小 
CCSC:压缩类空间大小;           CCSU:压缩类空间使用大小 
YGC:年轻代垃圾回收次数;      YGCT:年轻代垃圾回收消耗时间 
FGC:老年代垃圾回收次数;       FGCT:老年代垃圾回收消耗时间 
GCT:垃圾回收消耗总时间; 

根据 Kafka 进程号,查看 Kafka 的堆内存

[root@hadoop100 ~]# jmap -heap 1519
Attaching to process ID 1519, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.311-b11

using thread-local object allocation.
Garbage-First (G1) GC with 8 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 2147483648 (2048.0MB)
   NewSize                  = 1363144 (1.2999954223632812MB)
   MaxNewSize               = 1287651328 (1228.0MB)
   OldSize                  = 5452592 (5.1999969482421875MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 1048576 (1.0MB)

Heap Usage:
G1 Heap:
   regions  = 2048
   capacity = 2147483648 (2048.0MB)
   used     = 161066704 (153.6051788330078MB)
   free     = 1986416944 (1894.3948211669922MB)
   7.50025287270546% used
G1 Young Generation:
Eden Space:
   regions  = 3
   capacity = 106954752 (102.0MB)
   used     = 3145728 (3.0MB)
   free     = 103809024 (99.0MB)
   2.9411764705882355% used
Survivor Space:
   regions  = 6
   capacity = 6291456 (6.0MB)
   used     = 6291456 (6.0MB)
   free     = 0 (0.0MB)
   100.0% used
G1 Old Generation:
   regions  = 146
   capacity = 2034237440 (1940.0MB)
   used     = 151629520 (144.6051788330078MB)
   free     = 1882607920 (1795.3948211669922MB)
   7.453875197577722% used

12666 interned Strings occupying 1403296 bytes.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka 3.4.0 是一个比较老的版本,但是参数调优的方法基本上和较新版本相同。下面是一些可以考虑的参数调优: 1. 增加分区数:增加分区数可以提高 Kafka 集群的吞吐量。但是,增加分区数也会增加管理和维护的复杂性。在增加分区数之前,需要评估分区数对集群的影响。 2. 调整副本数:副本数决定了数据的冗余度,也影响了 Kafka 集群的可用性。增加副本数可以提高数据的可靠性,但是也会增加网络带宽的使用和磁盘空间的占用。在调整副本数之前,需要评估副本数对集群的影响。 3. 调整 batch.size 和 linger.ms:batch.size 和 linger.ms 参数控制了消息发送的批处理方式。batch.size 参数控制了批处理的消息数量,linger.ms 参数控制了消息在缓冲区中等待的时间。调整这些参数可以提高 Kafka 集群的吞吐量。 4. 增加 JVM 堆内存:Kafka 使用 JVM 运行,因此增加 JVM 堆内存可以提高 Kafka 集群的性能。但是,增加 JVM 堆内存也会增加 GC 的开销。在增加 JVM 堆内存之前,需要评估 JVM 堆内存对集群的影响。 5. 调整网络缓冲区大小:Kafka 使用网络传输消息,因此调整网络缓冲区大小可以提高 Kafka 集群的性能。但是,调整网络缓冲区大小也会增加网络带宽的使用。在调整网络缓冲区大小之前,需要评估网络缓冲区大小对集群的影响。 这些都是一些常见的参数调优方法,但是对于不同的 Kafka 集群,需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值