I am new to NetApp, and are running my first installation. My challenge now is to find out when to say to the guys who installed it "ok, fine, everything works as expected, thank you for your help". Because I can't find information about what disk performance it would be reasonable to expect from my new NAS.
Please see the attached PDF for my performance comparison. I wonder if it is normal that my NetApp is far slower than a locally attached RAID 5 with 4 disks.
Actually, I would expected to get a transfer rate near the full bandwidth of the 10 GB storage network, as the NetApp has many more disks in its arrays (aggregates).
I have not been able to find a performance test with NetApp and VMware which shows approximately what to expect in megabytes per second. I guess NetApp or VMware has such a reference document somewhere, but where do I find it?
I have tested with netperf that the 10Gb network is actually able to transfer near its theoretical bandwidth between a VM and a physical host. However, it would be useful to have a similar tool at the NetApp filer to verify the network bandwidth without generating any disk i/o, does such a tool exist?
- concurrency (how many threads were running in parallel)
- queue depth for each thread (number of outstanding requests)
- IO request size
- read/write ratio
for each test it is hard to even start guessing ...
In my test I am using PassMark performanceTest 7.0's disk test with its default settings. It is a very well-known tool in general pc benchmarking, and is suitable in comparing a virtual machine's general performance to a physical machine.
For now, I am not so interested in the maximum performance with many concurrent threads, at some queue depth and a certain request size - it quickly gets very teorethical.
I am interested in experiences or references from real life performance of one virtual machine making a simple file copy; and comparing that to the performance of the same VM using its hosts local disk array. And I naively expected the NetApp array using a 10 Gb net to be several factors faster than such an array.
I am quite sure that the PassMark test with its default settings is running only one thread. And about the read/write ratio, for the read test it is obviously 100/0 and for the write test 0/100; and for the random seek + RW test, it is - well, random! 😉
You may download PerformanceTest 7.0 and do you own comparison - there's a time-limited free version:
Run the program, and in the menu, choose Tests / Disk / All.
I do not understand: - how does running only one thread explain that the NetApp NAS measures slower than a locally attched SAS array with four spindels?
When testing with one thread against the NetApp NAS, the CPU at the VM is not running near 100%, not even at one of its CPU cores, so what is the bottleneck that stops us from using most of the available Ethernet bandwidth?
Locally attached SAS has to just copy data in memory.
Externally attached arrays are accessed over multilayer protocols and additional devices (FC/LAN switches), which introduce additional overhead. So each single IO will likely have higher latency for external array than for locally attached one. If your benchmark is single threaded, each IO has to wait for completion of previous one. Thus you achieve lower throughput (for a single thread) than in locally attached case.
As you asked for published results - look e.g. at http://www.vmware.com/pdf/vsp_4_vmxnet3_perf.pdf. It shows appr. 8000 IOPS for 10GbE network. Assuming 512B IO size you get just 4MB/s; with 4KB request size - 32MB/s.