ZFS - 确定瓶颈性能

ZFS - 确定瓶颈性能

我有一个 Z3 池,有 9 个 10TB 驱动器,位于作为混合操作系统虚拟机主机运行的 Dell PowerEdge R730xd 下。存在两个池:rpool - SSD 镜像池,主要用于 VM 中的根驱动器。dpool - 较大的 HDD 池,用于数据。

原则上 - 由于该设备不在专业支持范围内,因此我不会选择使用硬件 RAID。

我怀疑 dpool 的表现很差:

  • 对于这种操作模式,控制器可能配置错误或超载。
  • 磁盘布局不太优化,调优指南建议使用完整磁盘而不是分区。
  • 写入数据的块大小与磁盘的块大小不同步。
  • 驱动器池需要 SSD 缓存。

是否有任何快速修复方法可以提高读取性能?我想重新安装此阵列并进行更好的性能调整。所以我只是在寻找对所有数据进行完整克隆的最佳方法。如果需要,我可以依靠文件系统备份。

以下是各种输出:

fio --filename=/dpool/datatest --sync=1 --rw=randread --bs=4k --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300
test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=4
fio-3.25
Starting 1 process
test: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [r(1)][100.0%][r=416KiB/s][r=104 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=1812194: Sat Mar 19 16:44:08 2022
  read: IOPS=96, BW=386KiB/s (395kB/s)(113MiB/300008msec)
    clat (usec): min=10, max=130802, avg=10360.59, stdev=7791.93
     lat (usec): min=11, max=130803, avg=10361.10, stdev=7791.95
    clat percentiles (usec):
     |  1.00th=[    63],  5.00th=[    82], 10.00th=[  6718], 20.00th=[  8029],
     | 30.00th=[  8717], 40.00th=[  9110], 50.00th=[  9503], 60.00th=[  9765],
     | 70.00th=[ 10028], 80.00th=[ 10159], 90.00th=[ 13698], 95.00th=[ 21627],
     | 99.00th=[ 45351], 99.50th=[ 55837], 99.90th=[100140], 99.95th=[105382],
     | 99.99th=[116917]
   bw (  KiB/s): min=   64, max=  544, per=99.78%, avg=385.81, stdev=106.22, samples=599
   iops        : min=   16, max=  136, avg=96.45, stdev=26.55, samples=599
  lat (usec)   : 20=0.09%, 50=0.32%, 100=5.95%, 250=0.27%, 500=0.01%
  lat (msec)   : 2=0.01%, 4=0.05%, 10=64.61%, 20=23.10%, 50=4.79%
  lat (msec)   : 100=0.71%, 250=0.10%
  cpu          : usr=0.11%, sys=1.69%, ctx=27210, majf=0, minf=112
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=28940,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=4

Run status group 0 (all jobs):
   READ: bw=386KiB/s (395kB/s), 386KiB/s-386KiB/s (395kB/s-395kB/s), io=113MiB (119MB), run=300008-300008msec

这些磁盘在服务器控制器上配置为非 RAID 设备,并作为普通磁盘传递到 Linux。

iDrac 磁盘阵列

iDrac 控制器设置

调试转储在这里:https://gist.github.com/pbrooks/3eca3e78ecada637c57962c2682f4a69

相关内容