I have wanted to run some tests of disparate virtual workloads on our vSphere 4.1 clusters focused on storage IO, latency and bandwidth today.
The setup: 5 ESXi 4.1 Enterprise Plus Hosts
3 IBM 3690 X5 with 128GB RAM and Dual 8Core Nehelam 2.26 GHz
2 IBM 3850 M2 with 128GB RAM and Quad 4Core 2.3GHz
2 Brocade Silkworm 300’s
Qlogic 8GB FC HBA’s on the hosts
IBM XIV Gen2 Full Frame (75% capacity utilized)
All test were run for 10 minutes with one Test VM on each host running VMWare IO Analyzer Beta (contact your local VMWare Rep to get on the beta team, it’s an invaluable tool for testing storage) and each VM running an RDM for a LUN on the array.
So I’ve decided to run some test, keep in mind this is a production rig, I have 14 Oracle instances running, all of our VMWare as well as TSM, SQL, Sharepoint, Exchange, Lotus Notes, File Servers, Oracle BI, GRC, Hyperion, what I’m getting at is, a lot of crap is running on this rig so I can’t dedicate all of its resources to these tests. Still that I am able to hammer the array and get in my view, good performance while running so many disparate workloads, is to me impressive.
First – MAX IO on all 5 VM’s: test generates 512b sequential IO with 100% probability of Read IO. Number of Outstanding IO is set to 32
Storage IO Control is turned on and set at default settings.
Second – Mixed Workloads running simultaneously, one on each of the 5 VM’s
- SQL running 64k: test will generate 64k random access IO with 66% probability of Read IO. Number of Outstanding IO is set to 16.
- Exchange 2007: test will generate 8k 80% random access IO with 55% probability of Read IO. Number of Outstanding IO is set to 12.
- OLTP 8k: test will generate 8k random access IO with 70% probability of Read IO. Number of Outstanding IO is set to 16.
- Video On Demand: This test will generate 8k sequential IO with 20% probability of Read IO. Number of Outstanding IO is set to 4.
- Webserver 8k: This test will generate 8k 75% random access IO with 95% probability of Read IO. Number of Outstanding IO is set to 4.
All 5 disparate workloads running in concurrence:
As you can see the performance statistics of each workload type vary according. I’m primarily interested in what production level loads will look like for our production clusters. For the record, none of our production level workloads ever reach these performance levels currently. Real world production workloads are actually drastically smaller and total IOPs for our array run anywhere from 1200 to 14,000 depending on what is actually ramping up.
Still I can’t say that I’m not pleased with the results.