You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kafka集群高磁盘利用率及高IOwait问题的主动优化方案咨询

Kafka集群高磁盘利用率及高IOwait问题的主动优化方案咨询

大家好,我目前碰到了Kafka集群的性能瓶颈问题,想请各位帮忙分析下根源,并给出可行的优化建议。先跟大家说下集群的基础配置:

  • 集群规模:12台RHEL 7.6虚拟机
  • 单台机器规格:
    • CPU:14核
    • 内存:48G
    • Kafka数据盘:VMDK格式的sdb磁盘

问题现象

当集群处于高负载状态(大量数据写入磁盘+密集磁盘读取)时,从sar报告能看到VMDK磁盘利用率几乎达到100%,同时CPU的%iowait最高能到40%左右;而当没有读写操作时,磁盘利用率只有1-3%,这是正常状态。

磁盘性能监控数据(sar -p -d 5 15 | grep sdb)

DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util

11:45:44 AM       sdb    667.60  50776.00 114753.80    247.95    145.06    210.63      1.50    100.00

11:45:49 AM       sdb    484.60  40296.00 142994.40    378.23    145.80    343.71      2.06    100.00

11:45:54 AM       sdb    355.40  12758.40 170463.40    515.54    285.86    724.10      2.81    100.00

11:45:59 AM       sdb    477.40  26828.80 142663.20    355.03    219.43    419.59      2.10    100.02

11:46:04 AM       sdb    526.40  30964.80 116515.60    280.17    219.52    495.00      1.90     99.98

11:46:09 AM       sdb    387.20  26939.20 142214.60    436.86    192.80    405.45      2.58    100.00

11:46:14 AM       sdb    403.00  18192.00 130434.80    368.80    286.71    681.59      2.48    100.00

11:46:19 AM       sdb    608.00  50153.60  96733.40    241.59    163.63    336.13      1.65    100.04

11:46:24 AM       sdb    188.40   8406.40  87474.80    508.92    196.47    657.40      5.31     99.98

11:46:29 AM       sdb    749.40  54948.80 167797.40    297.23    207.97    388.29      1.33    100.02

11:46:34 AM       sdb    419.20  57480.00 110545.60    400.82    143.63    305.59      2.39    100.00

11:46:39 AM       sdb    549.60  34772.80 149058.60    334.48    144.77    286.05      1.82     99.98

11:46:44 AM       sdb    468.26  40547.70 130706.99    365.72    146.39    318.22      2.13     99.90

11:46:49 AM       sdb    412.40  21929.60 186562.40    505.56    144.34    363.23      2.42     99.98

11:46:54 AM       sdb    574.60  36830.40 177053.60    372.23    149.73    245.82      1.74    100.00

Average:          sdb    484.76  34122.49 137730.57    354.51    186.13    385.28      2.06     99.99

CPU性能监控数据(sar 5 15)

12:12:45 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle

12:12:50 PM     all      8.21      0.00      9.87     10.26      0.00     71.67

12:12:55 PM     all      6.50      0.00      7.65      7.78      0.00     78.07

12:13:00 PM     all      7.90      0.00      9.40     10.53      0.00     72.16

12:13:05 PM     all     11.83      0.00     13.24     26.62      0.00     48.31

12:13:10 PM     all     11.66      0.00     12.84     19.00      0.00     56.50

12:13:15 PM     all      8.23      0.00      9.98      9.52      0.00     72.26

12:13:20 PM     all      7.74      0.00      8.87     10.95      0.00     72.44

12:13:25 PM     all      6.70      0.00      7.92      9.10      0.00     76.27

12:13:30 PM     all      7.15      0.00      8.32      8.05      0.00     76.49

12:13:35 PM     all     12.84      0.00     14.12     15.17      0.00     57.87

12:13:40 PM     all      7.91      0.00      9.04     35.44      0.00     47.62

12:13:45 PM     all      9.20      0.00     10.63     11.09      0.00     69.09

12:13:50 PM     all      9.57      0.00     10.98      8.15      0.00     71.30

12:13:55 PM     all     10.85      0.00     12.61      7.39      0.00     69.15

12:14:00 PM     all     10.88      0.00     12.44      9.54      0.00     67.15

Average:        all      9.14      0.00     10.52     13.23      0.00     67.11

高负载下vmstat数据(vmstat 1 20)

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

18 13   1024 379388      0 54566428    0    0  1888  5137    0    0  4  4 47 45  0

0 19   1024 328408      0 54606020    0    0     0  6853 11700 7288  2  2 12 85  0

0 15   1024 330204      0 54618088    0    0 12004 56708 16881 8254  3  3 16 78  0

0 13   1024 345284      0 54601404    0    0  3492 104672 5135 3067  0  1 43 56  0

0 17   1024 324864      0 54620400    0    0   248 66547 16615 8477  2  4 31 63  0

0 18   1024 367468      0 54577640    0    0     0 84404 13020 6995  2  3  6 90  0

0 21   1024 327480      0 54611036    0    0  8536 125999 29355 37872  4  7 18 71  0

0 19   1024 362180      0 54581692    0    0  7692 66464 4167 2717  0  0 33 66  0

0 19   1024 419264      0 54523248    0    0     0 46409 1799 1825  0  0 27 73  0

0 14   1024 356708      0 54586004    0    0     4 78656 17169 9841  3  4 23 70  0

0 14   1024 407352      0 54539976    0    0     0 136732 4554 4673  0  1 20 79  0

0 12   1024 389672      0 54557752    0    0  5832 59124 9619 5537  1  2 25 71  0

0 14   1024 431880      0 54513164    0    0   948 94160 14272 7229  2  3 30 65  0

0 15   1024 440300      0 54502784    0    0  9140 136328 10626 5296  1  1 38 60  0

0 13   1024 441708      0 54501948    0    0  7652 62132 4663 2756  0  1 33 66  0

0 14   1024 449396      0 54492664    0    0   416 64790 1955 1757  0  0 33 66  0

0 17   1024 424028      0 54520452    0    0   484 114372 16674 7946  2  3 25 70  0

0 18   1024 441912      0 54499924    0    0     0 82027 2752 2100  0  0 22 78  0

0 14   1024 473604      0 54468560    0    0     0 60188 2021 2212  0  0 22 78  0

1 14   1024 420224      0 54525684    0    0  8576 128225 21739 9684  9  4 27 60  0

VMware磁盘配置信息

  • SATA控制器0:AHCI
  • VM存储策略:VxRail RAID5 Default
  • 共享设置:No Sharing
  • 磁盘文件:VxRail-VSAN_Datastore
  • 磁盘模式:Dependent
  • 虚拟设备节点:SCSI控制器0

我的初步分析和疑问

目前从内存监控来看没有明显问题,但不确定瓶颈到底在哪里。我初步有几个方向:

  1. 把CPU从14核升级到48核,但怀疑高%iowait其实是磁盘利用率过高导致的,升级CPU可能无法解决根本问题;
  2. 增加Kafka集群的节点数量,分散读写压力;
  3. 给每台Kafka机器添加多块磁盘组成JBOD,平衡密集的读写负载。

想请教各位,针对当前的情况,还有哪些优化方向或者更有效的解决方案?非常感谢大家的建议!

备注:内容来源于stack exchange,提问作者King David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:33:12