Hello!
Our setup.
OmniOS 8x Crucial 960GB SSD (15% OP). Gigabit network (soon 10gbe). 8 disks in raid-z2 shared via NFS. I expected us to saturate the 1gbit link but we are not
A windows vm on xenserver with crystaldisk gives this.
sync=disabled
sync=always
*Here i see the weird 30MB/s. I do see this from the ubuntu VM too sometimes but unknown why.
Running benchmarks from xenserver console, xenserver ubuntu vm and esxi ubuntu vm. Using simple dd benchmark.
sync=always
esxi vm:117 MB/s
xenserver vm: 80 MB/s (sometimes, i.e. after a vm migration this only gives 30MB/s)
xenserver console:104MB/s
sync=disabled
esxi:116 MB/s
xenserver vm: 117 MB/s
xenserver console:105MB/s
zilstat shows me that esxi writes <=4kB chunks while xenserver writes >=32kB. I guess that is why the performance is worse from a xenserver VM than an esxi VM.
During dd on xenserver VM
During dd on esxi VM
Running two simultaneous dd benchmarks from two ubuntu vms gives me 57 MB/s on both = 114 MB/s combined.
We had a spare Samsung 840 PRO 512GB SSD. Tried adding this as a ZIL to the pool but then performance got extremely bad. Only did this for testing, I know it has no supercap etc!
Before ZIL, sync=always
xenserver ubuntu VM: 80 MB/s
After added ZIL, sync=always
xenserver ubuntu VM:14MB/s (!)
Questions
1. What am i doing wrong when adding the samsung SSD as ZIL?
One would expect speeds to be better since the samsung PRO has better write and IOPS than the crucial disks. What am i doing wrong here?
2. Why can i run the dd benchmarks from two VMs and see them saturate the whole 1gbit network?
This must be a performance issue on xenserver since the identical esxi VM can write in 116MB/s while xenserver VMs range from 30MB/s to 80MB/s.
3. Following question 2. How can i improve xenserver NFS performance?
Esxi and xenserver share identical hardware, network etc. Even then xenserver performs bad with only 30MB/s to 80MB/s (max observed). Since running dd on the mount directly form the console gives me 105MB/s we lose ~20MB/s just by going through the VM I/O layer?
Thanks!
EDIT:
Heres from the xenserver windows VM with ZIL and sync=always,
Our setup.
OmniOS 8x Crucial 960GB SSD (15% OP). Gigabit network (soon 10gbe). 8 disks in raid-z2 shared via NFS. I expected us to saturate the 1gbit link but we are not
A windows vm on xenserver with crystaldisk gives this.
sync=disabled
sync=always
*Here i see the weird 30MB/s. I do see this from the ubuntu VM too sometimes but unknown why.
Running benchmarks from xenserver console, xenserver ubuntu vm and esxi ubuntu vm. Using simple dd benchmark.
Code:
time sh -c "dd bs=1M count=5000 if=/dev/zero of=test conv=fdatasync"
sync=always
esxi vm:117 MB/s
xenserver vm: 80 MB/s (sometimes, i.e. after a vm migration this only gives 30MB/s)
xenserver console:104MB/s
sync=disabled
esxi:116 MB/s
xenserver vm: 117 MB/s
xenserver console:105MB/s
zilstat shows me that esxi writes <=4kB chunks while xenserver writes >=32kB. I guess that is why the performance is worse from a xenserver VM than an esxi VM.
During dd on xenserver VM
During dd on esxi VM
Running two simultaneous dd benchmarks from two ubuntu vms gives me 57 MB/s on both = 114 MB/s combined.
We had a spare Samsung 840 PRO 512GB SSD. Tried adding this as a ZIL to the pool but then performance got extremely bad. Only did this for testing, I know it has no supercap etc!
Before ZIL, sync=always
xenserver ubuntu VM: 80 MB/s
After added ZIL, sync=always
xenserver ubuntu VM:14MB/s (!)
Questions
1. What am i doing wrong when adding the samsung SSD as ZIL?
One would expect speeds to be better since the samsung PRO has better write and IOPS than the crucial disks. What am i doing wrong here?
2. Why can i run the dd benchmarks from two VMs and see them saturate the whole 1gbit network?
This must be a performance issue on xenserver since the identical esxi VM can write in 116MB/s while xenserver VMs range from 30MB/s to 80MB/s.
3. Following question 2. How can i improve xenserver NFS performance?
Esxi and xenserver share identical hardware, network etc. Even then xenserver performs bad with only 30MB/s to 80MB/s (max observed). Since running dd on the mount directly form the console gives me 105MB/s we lose ~20MB/s just by going through the VM I/O layer?
Thanks!
EDIT:
Heres from the xenserver windows VM with ZIL and sync=always,
Last edited: