Synthetic Test of NFS for VMware

Status
Not open for further replies.

acook8103

Dabbler
Joined
Mar 6, 2012
Messages
12
First, I don't want any discussion on how to make NFS with VMware perform better. No ZILs, no SLOGs, no SSDs, no BBU controllers. That stuff has been beaten to death.

Question:
I would like to perform some synthetic tests of NFS to get a picture of how it MIGHT work if I were to use it for VMware. I'm hoping it would help me (others more at this point) before they even hook up VMware.

With the limited information I've been able to find (i.e.-almost none), in theory (logically), just mounting with the 'sync' option should work.

[pre]mount -t nfs -o rw,sync storage:/mnt/DATA/vmware /path/to/mountpoint[/pre]
And then run iozone or dd.

Except I tested the theory, and I get 2-3x faster speeds than from inside of an ESXi hosted VM.

Does anyone have a better synthetic test?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
First, I don't want any discussion on how to make NFS with VMware perform better. No ZILs, no SLOGs, no SSDs, no BBU controllers. That stuff has been beaten to death.

Quite frankly, there's been plenty of these threads on NFS with VMWare, so I'd say this topic has been beaten to death too!

Question:
I would like to perform some synthetic tests of NFS to get a picture of how it MIGHT work if I were to use it for VMware. I'm hoping it would help me (others more at this point) before they even hook up VMware.

With the limited information I've been able to find (i.e.-almost none), in theory (logically), just mounting with the 'sync' option should work.

[pre]mount -t nfs -o rw,sync storage:/mnt/DATA/vmware /path/to/mountpoint[/pre]
And then run iozone or dd.

Except I tested the theory, and I get 2-3x faster speeds than from inside of an ESXi hosted VM.

Does anyone have a better synthetic test?

So far, nobody has been able to provide a good synthetic test. There's just too many variables that have SERIOUS effects on the outcome of your VMs performance. Not the least of which are the number of VMs, their actual real "no sh*t load on the system" and your pools historical usage patterns(aka fragmentation and how full the pool is). You'd have to be a jedi master to be able to come up with a test to simulate those!
 

pbucher

Contributor
Joined
Oct 15, 2012
Messages
180
For a quick and dirty test to just verify a few things and is very synthetic, is to simply mount the NFS share in ESXi and using a Linux VM attach a new hard drive and store it on the NFS share(I typically just keep around a basic Linux install for this). Assuming it's the 2nd HD it should be /dev/sdb but you will have to figure out what the /dev entry is for your newly attached drive. Then do a good old dd 0f=/dev/sdb if=/dev/zero bs=4k count=200000. Vary the bs & count parameters to stress things differently. I using use 4k to gauge how running VMs might work in a heavy write situation, if I just want to verify the net, nfs & actual ZFS volume performance I change bs to 128k since that is pretty much the optimal size for writing to ZFS.

Keep in mind this is all very synthetic, but it's enabled me to verify that I've got a good NFS/esxi config and test different tuning parameters(though in all honesty out of the box is pretty much as good as it gets unless you want to wonder down the road of SLOGs, sync settings and other fun stuff). I have taken up flicking on auto tuning though I'm really sold on it, but alas even with quick and dirty tests I don't have all day to benchmark things.
 

eraser

Contributor
Joined
Jan 4, 2013
Messages
147
Question:
I would like to perform some synthetic tests of NFS to get a picture of how it MIGHT work if I were to use it for VMware. I'm hoping it would help me (others more at this point) before they even hook up VMware.

With the limited information I've been able to find (i.e.-almost none), in theory (logically), just mounting with the 'sync' option should work.

[pre]mount -t nfs -o rw,sync storage:/mnt/DATA/vmware /path/to/mountpoint[/pre]
And then run iozone or dd.

Couple things come to mind about iozone:

iozone uses highly-compressible test data by default, so if your ZFS pool has compression enabled that will greatly skew the results. You can add the following iozone parameters to generate un-compressible test data: "-+w 1 -+y 1 -+C 1".​

I think the "-o" command is also important.​

Also consider "-c" and "-e".​
You will most likely want to force small(ish) record sizes for your iozone tests. Maybe 4K ( "-r 4K")?
 
Status
Not open for further replies.
Top