Hi, wir haben einen neuen Server bestellt (AMD EPYC 7402, 128GB RAM, 2x SAMSUNG MZQL2960HCJR-00A07). Als Dateisystem setzen diesmal auf ZFS als Mirror:
Der Server soll den alten Server ersetzen, dort kommt ein HW-Raid10 mit 4 SSDs zum Einsatz.
Unser Problem ist: Die IO Performance mit FIO gemessen ist sehr schlecht:
Auf den VMs ist es im Prinzip dasselbe Bild. Laut iotop wird aber mit 1700-2000m/s auf die Platte geschrieben. Inzwischen habe ich viel zu dem Thema gelesen und weiß, dass es mit ZFS einen overhead beim Schreiben gibt, doch nirgends decken sich die Zahlen mit den schlechten Werten, die wir hier haben.
Wir machen uns nun Sorgen, dass die Performance unter dem ZFS allgemein leidet, insbesondere die der DB (läuft in einer VM). Ich habe auch schon mit dem recordsize Wert experimentiert, doch selbst wenn ich den auf 4k setze, ändert sich in den VMs nichts.
Gibt es Einstellungen, die wir noch ändern können? Oder ist die Sorge unbegründet und es ist eher ein benchmark-Problem?
Wir überlegen derzeit stark, ob wir wieder auf ein Raid1 wechseln.
Code:
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 888G 37.2G 851G - - 6% 4% 1.00x ONLINE -
mirror 888G 37.2G 851G - - 6% 4.19% - ONLINE
nvme-eui.36344630529079040025384500000001-part3 - - - - - - - - ONLINE
nvme-eui.36344630529078970025384500000001-part3 - - - - - - - - ONLINE
Unser Problem ist: Die IO Performance mit FIO gemessen ist sehr schlecht:
Code:
#fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=4k --iodepth=64 --size=4G --readwrite=randrw test1: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.25
Starting 1 process
Jobs: 1 (f=1): [m(1)][95.8%][r=62.2MiB/s,w=61.9MiB/s][r=15.9k,w=15.8k IOPS][eta 00m:02s]
test1: (groupid=0, jobs=1): err= 0: pid=353148: Mon Mar 21 20:33:42 2022
read: IOPS=11.2k, BW=43.8MiB/s (45.9MB/s)(2049MiB/46769msec)
bw ( KiB/s): min=34352, max=90696, per=98.63%, avg=44255.60, stdev=8943.60, samples=93
iops : min= 8588, max=22674, avg=11063.89, stdev=2235.89, samples=93
write: IOPS=11.2k, BW=43.8MiB/s (45.9MB/s)(2047MiB/46769msec); 0 zone resets
bw ( KiB/s): min=34328, max=89760, per=98.60%, avg=44185.13, stdev=8767.96, samples=93
iops : min= 8582, max=22440, avg=11046.28, stdev=2191.99, samples=93
cpu : usr=2.05%, sys=84.00%, ctx=16481, majf=0, minf=6
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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.1%, >=64=0.0%
issued rwts: total=524625,523951,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=43.8MiB/s (45.9MB/s), 43.8MiB/s-43.8MiB/s (45.9MB/s-45.9MB/s), io=2049MiB (2149MB), run=46769-46769msec
WRITE: bw=43.8MiB/s (45.9MB/s), 43.8MiB/s-43.8MiB/s (45.9MB/s-45.9MB/s), io=2047MiB (2146MB), run=46769-46769msec
Wir machen uns nun Sorgen, dass die Performance unter dem ZFS allgemein leidet, insbesondere die der DB (läuft in einer VM). Ich habe auch schon mit dem recordsize Wert experimentiert, doch selbst wenn ich den auf 4k setze, ändert sich in den VMs nichts.
Gibt es Einstellungen, die wir noch ändern können? Oder ist die Sorge unbegründet und es ist eher ein benchmark-Problem?
Wir überlegen derzeit stark, ob wir wieder auf ein Raid1 wechseln.
Code:
p#pveversion -v
proxmox-ve: 7.1-1 (running kernel: 5.13.19-6-pve)
pve-manager: 7.1-11 (running version: 7.1-11/8d529482)
pve-kernel-helper: 7.1-13
pve-kernel-5.13: 7.1-9
pve-kernel-5.13.19-6-pve: 5.13.19-14
pve-kernel-5.13.19-2-pve: 5.13.19-4
ceph-fuse: 15.2.15-pve1
corosync: 3.1.5-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.22-pve2
libproxmox-acme-perl: 1.4.1
libproxmox-backup-qemu0: 1.2.0-1
libpve-access-control: 7.1-6
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.1-5
libpve-guest-common-perl: 4.1-1
libpve-http-server-perl: 4.1-1
libpve-storage-perl: 7.1-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 4.0.11-1
lxcfs: 4.0.11-pve1
novnc-pve: 1.3.0-2
proxmox-backup-client: 2.1.5-1
proxmox-backup-file-restore: 2.1.5-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.4-7
pve-cluster: 7.1-3
pve-container: 4.1-4
pve-docs: 7.1-2
pve-edk2-firmware: 3.20210831-2
pve-firewall: 4.2-5
pve-firmware: 3.3-6
pve-ha-manager: 3.3-3
pve-i18n: 2.6-2
pve-qemu-kvm: 6.2.0-2
pve-xtermjs: 4.16.0-1
qemu-server: 7.1-4
smartmontools: 7.2-1
spiceterm: 3.2-2
swtpm: 0.7.1~bpo11+1
vncterm: 1.7-1
zfsutils-linux: 2.1.2-pve1