I have a Dell R710 server running Proxmox 5.4. It is installed on 2 2TB SATA HDDs, running in a ZFS mirror. I also installed 2 480GB SATA SSDs, which are in a separate ZFS mirrored pool. I'm having some performance issues with the SSDs, particularly when reading.
When running fio on the disk directly, I'm getting the results I would expect:
(4K)
(1M)
I think the overhead is coming from ZFS. I think it might be using the much slower root directory for something when it reads from the SSD. Is this likely? If so, how can I check/fix it?
When running fio on the disk directly, I'm getting the results I would expect:
(4K)
Code:
root@R710:~# fio --ioengine=libaio --direct=1 --sync=1 --rw=read --bs=4K --numjobs=1 --iodepth=1 --runtime=60 --time_based --name seq_read --filename=/dev/sdd
seq_read: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
fio-2.16
Starting 1 process
Jobs: 1 (f=1): [R(1)] [100.0% done] [40530KB/0KB/0KB /s] [10.2K/0/0 iops] [eta 00m:00s]
seq_read: (groupid=0, jobs=1): err= 0: pid=18743: Tue Apr 21 14:33:27 2020
read : io=2345.5MB, bw=40028KB/s, iops=10007, runt= 60001msec
(1M)
Code:
root@R710:~# fio --ioengine=libaio --direct=1 --sync=1 --rw=read --bs=1M --numjobs=1 --iodepth=1 --runtime=60 --time_based --name seq_read --filename=/dev/sdd
seq_read: (g=0): rw=read, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=1
fio-2.16
Starting 1 process
Jobs: 1 (f=1): [R(1)] [100.0% done] [340.4MB/0KB/0KB /s] [340/0/0 iops] [eta 00m:00s]
seq_read: (groupid=0, jobs=1): err= 0: pid=2511: Tue Apr 21 14:35:35 2020
read : io=21760MB, bw=371352KB/s, iops=362, runt= 60003msec
I think the overhead is coming from ZFS. I think it might be using the much slower root directory for something when it reads from the SSD. Is this likely? If so, how can I check/fix it?