It has been nearing a month since I posted my blog on Extended Page Tables and it's niceties, I had promised to come up with a follow-up blog with some hands on test runs I had planned to run in my lab. With burgeoning to do list from work and endless meetings per day, finally I made sometime and setup a testbed in the lab.
My goal was to run some workload on the hardware setup with Extended Page Table enabled to help the virtual machine to translate memory address, then I also planned to rerun the workload on the same hardware setup without EPT and perform a comparison of both result sets. I wanted to keep the test simple enough to achieve my goal while making sure results are repeatable with multiple runs.
I decided to use open source workload called DVD Store, this workload was developed by Dell and passed over to open source community, it comes in varients of Microsoft SQL server, Oracle Database server and MySql Database server. The Database schema is made up of eight tables and few store procedures and transactions. The workload comes in Three different DB sizes of 10MB, 1GB and 100GB. However being an open source workload, it allows us to tweak the size of the database and customize is to suit specific size requirement. I went ahead and tweaked the database to be of 2GB in size, this allowed me to fit the Database and log files on the storage devices I had in the lab without going for an expensive SAN based storage. As the name of the workload says, this is a order processing OLTP database workload simulating customers browsing through the store and adding selected DVDs and completing the order. Primary metric coming out of the workload is the number of orders processed during the workload execution period, secondary metric is average milliseconds taken to process each order.
Intel S5520UR Dual socket server.
CPU: Intel Xeon X5550 2.67 GHz 8 cores
RAM: 12GB DDR3
Hard drive: 500GB SATA II 7.2K RPM holding OS partition, IntelĀ® X25-E Extreme SATA Solid-State Drive 3 Nos.
NIC: Embedded 1Ge full duplex.
Keyboard, mouse and Monitor
Gateway E-4610S SB
CPU: Intel Core2 Duo 4300 1.80GHz
Harddrive: 80GB SATA II
NIC: Embedded 1Ge full duplex.
OS: Windows XP professional with SP3.
VMWARE ESX 3.5 U3
VMWARE ESX 4.0
Microsoft Windows 2008 enterprise server 64bit edition
Microsoft SQL 2005 64bit
I wanted to go with Solid state drives to ensure I am not disk bound anytime while running the workload, the alternative to run the workload without SSD would be to use a boatload of conventional hardrives increasing the setup complexity and foot print of my test hardware. Just using 3nos Intel SSDs makes life easier and provides terrific I/O performance. ESX was naturaly the choice of hypervisor with 3.5 update 3 used in test run without EPT and ESX 4.0 to execute workload with EPT.
I not going to delve deeper on how to setup the environment, OS instalaltion, application setup, and customizing the workload these topics are out of scope for this blog. But since it is required to know on how I ran my tests, I will talk about the methodology just enough for readers to understand the workload execution method and test duration, which helps in understanding the result chart below. Test was run from the client machine usinf workload driver and was ran for 10 minutes at a stretch and for Three times just to ensure the results were repeatable. The number of orders executed were pretty much close to with +- 100-200 OPM.
Above chart shows number of Orders the server was able to execute per minute. The X-Axis represents the number of vCPUs allocated to the virtual machine and Y-Axis shows the orders per minute. With each additional vCPU added to the virtual machine the number of orders executed by the server increases, as you can notice in the chart there is a 15%, 18% and 31% increase in number of OPM clearly scaling up with additional vCPUs allocated to the virtualmachine.
Above chart shows the average response time to complete one order. There is a 15% to 40% decrease in response time between server running without EPT and server enabled with EPT. In addition to improvement in response times, the server does 15%-30% more number of transactions.
When I completed my workload execution and came started seeing the data, it was apparent to me that EPT plays the major factor in improving performance of any virtualized workload. With virtualization technology achieving wide spread adoptability, IT orgs are exploring on how virtualize applications which were left untouched till now due to fear of peformance degradation and blowing up the SLA promised to the business. But Technologies like EPT provides enough reasons for the IT managers to start thinking about virtualizing critical workloads like SQL, Exchange etc. This is the last part of the Two part series blog in EPT. Feel free to comment if you have any questions.
Bhaskar D Gowda.