Привет.
Очередная проблема с ZFS, дошедшая до абсурда.
Имеем двухсокетный сервак на амд, 64гб рамы, все митигации спекулятивных уязвимостей выключены. После чего создаем в этой раме 3 файла ака диска, из которых соберем raidz1, ну и докинем еще slog по необходимости:
me@moon:/tank$ cd /dev/shm/
me@moon:/dev/shm$ sudo dd if=/dev/zero of=/dev/shm/disk1.img bs=1M count=4096
[sudo] password for smd:
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 2.7159 s, 1.6 GB/s
me@moon:/dev/shm$ sudo dd if=/dev/zero of=/dev/shm/disk2.img bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 2.70449 s, 1.6 GB/s
me@moon:/dev/shm$ sudo dd if=/dev/zero of=/dev/shm/disk3.img bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 2.69832 s, 1.6 GB/s
me@moon:/dev/shm$ sudo dd if=/dev/zero of=/dev/shm/slog.img bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 2.7063 s, 1.6 GB/s
me@moon:/dev/shm$ sudo zpool create -o ashift=12 -O compression=off -O atime=off test-pool raidz1 /dev/shm/disk1.img /dev/shm/disk2.img /dev/shm/disk3.img
me@moon:/dev/shm$ cd /test-pool/
me@moon:/test-pool$ sudo fio --filename=test --sync=1 --rw=write --bs=4k --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300 && rm test
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=4
fio-3.12
Starting 1 process
test: Laying out IO file (1 file / 10240MiB)
^Cbs: 1 (f=1): [W(1)][5.0%][w=25.6MiB/s][w=6565 IOPS][eta 04m:45s]
fio: terminating on signal 2
test: (groupid=0, jobs=1): err= 0: pid=19078: Fri Jun 21 09:59:34 2019
write: IOPS=6311, BW=24.7MiB/s (25.9MB/s)(381MiB/15441msec); 0 zone resets
clat (usec): min=92, max=52087, avg=156.36, stdev=370.36
lat (usec): min=92, max=52087, avg=156.67, stdev=370.37
clat percentiles (usec):
| 1.00th=[ 119], 5.00th=[ 128], 10.00th=[ 133], 20.00th=[ 139],
| 30.00th=[ 143], 40.00th=[ 145], 50.00th=[ 149], 60.00th=[ 153],
| 70.00th=[ 157], 80.00th=[ 163], 90.00th=[ 176], 95.00th=[ 194],
| 99.00th=[ 243], 99.50th=[ 269], 99.90th=[ 392], 99.95th=[ 644],
| 99.99th=[ 2180]
bw ( KiB/s): min=22520, max=27768, per=100.00%, avg=25287.87, stdev=1354.58, samples=30
iops : min= 5630, max= 6942, avg=6321.93, stdev=338.68, samples=30
lat (usec) : 100=0.01%, 250=99.23%, 500=0.70%, 750=0.04%, 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%, 10=0.01%, 50=0.01%, 100=0.01%
cpu : usr=2.53%, sys=41.02%, ctx=97548, majf=0, minf=17
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=0,97453,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=4
Это, конечно, не главная цель, но шажок к тому, чтобы разобраться, отчего дисковая подсистема на сервере такая медленная.
Вопрос, что происходит и что я делаю не так.
В тред приглашаются эксперты: EvgGad_303, axelroot, stave,