Our First Virtualization Benchmark: OLTP Linux on ESX 3.5 Update 2

We are excited to show you our first virtualization test performed on ESX 3.5 Update 2. This benchmarking scenario was conceived as a "not too complex" way to test hypervisor efficiency; a more complex real world test will follow later. The reason we want to make the hypervisor work hard is that this allows us to understand how much current server CPUs help the hypervisor, keeping the performance overhead of virtualization to a minimum. We chose to set up a somewhat unrealistic (at this point in time) but very hypervisor intensive scenario.

We set up between two and six virtual machines running an OLTP SysBench 0.4.8 test on MySQL 5.1.23 (INNODB Engine). Each VM runs as a guest OS on a 64-bit version of Novell's SLES 10 SP2 (SUSE Linux Enterprise Server). The advantage of using a 64-bit operating system on top of ESX 3.5 (Update 2) is that the ESX hypervisor will automatically use hardware virtualization instead of binary translation. Each virtual machine gets its own four virtual CPUs and 2GB of RAM.

To avoid I/O dominating the entire benchmark effort, each server is connected to our Promise J300S DAS via a 12Gbit/s Infiniband connection. The VMs are installed on the server disks but the databases are placed on the Promise J300S, which consists of a RAID 0 set of six 15000RPM Seagate SAS 300GB disks (one of the fastest hard disks you can get). A separate disk inside the Promise chassis is dedicated to the transactional logs; this reduces the disk "wait states" from 8% to less than 1%. Each VM gets its own private LUN.

Each server is equipped with an Adaptec RAID 5085 card. The advantage is that this card is equipped with a dual-core Intel IOP 348 1.2GHz and 512MB of DDR2, which helps us ensure the RAID controller won't be a bottleneck either.


Our first virtualized benchmark scenario; the green part is the server and the yellow part is our Promise DAS enclosure.

We use Logical Volume Management (LVM). LVM makes sure that the LUNs are aligned and start at a 64KB boundary. The file system on each LUN is ext3, with the -E stride=16 option. This stride is necessary as our RAID strip size is 64KB and Linux (standard) only allows a block size of 4KB.

The MySQL version is 5.1.23 and the MySQL database is configured as follows:

max_connections=900
table_cache=1520
tmp_table_size=59M
thread_cache_size=38
#*** INNODB Specific options ***
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=10M
innodb_buffer_pool_size=950M
innodb_log_file_size=190M
innodb_thread_concurrency=10
innodb_additional_mem_pool_size=20M

Notice that we set flush_log_at_trx_commit = 1, thanks to the Battery Backup Unit on our RAID controller; our database offers full ACID behavior as appropriate for an OLTP database. We could have made the buffer pool size larger, but we also want to be able to use this benchmark scenario in VMs with less than 2GB memory. Our 1 million record database is about 258MB and indices and rows fit entirely in memory. The reason we use this approach is that we are trying to perform a CPU benchmark; also, many databases now run from memory since it is pretty cheap and abundant in current servers. Even 64GB configurations are no longer an exception.

Since we test with four CPUs per VM, an old MySQL problem reared its ugly head again. We found out that CPU usage was rather low (60-70%). The reason is a combination of the futex problems we discovered in the old versions of MySQL and the I/O scheduling of the small but very frequent log writes, which are written immediately to disk. After several weeks of testing, we discovered that using the "deadline" scheduler instead of the default CFQ (Complete Fair Queuing) I/O scheduler solved most of our CPU usage problems.

Each 64-bit SLES installation is a minimal installation without GUI (and runlevel = 3), but with gcc installed. We update the kernel to version 2.6.16.60-0.23. SysBench is compiled from source, version 0.4.8. Our local Linux gurus Philip Dubois and Tijl Deneut have scripted the benchmarking of SysBench. A master script on a Linux workstation ensures SysBench runs locally (to avoid the time drift of the virtualized servers) and makes SQL connections to each specified server while running all tests simultaneously. Each SysBench database contains 1 million records, and we start 8 to 32 threads, in steps of 8. Each test performs 50K transactions.

SAP SD ESX 3.5 Update 2 Virtualization Results
Comments Locked

34 Comments

View All Comments

  • JarredWalton - Wednesday, September 24, 2008 - link

    I'm sure Johan will rerun tests when Shanghai actually launches. He's been working on creating the virtualization testing scenarios for a while, and with something finally in place testing of future products will not be a problem. The launch of Dunnington just happened to coincide with the time for doing this virtualization article.
  • helldrell666 - Wednesday, September 24, 2008 - link

    It seems that inquirer's Charlie demirjian was right after all,Anandtch is a pro INTEL anti AMD sight.It's obvious that their reviews are biased and unfair against AMD.
    Anandtech exists to troll for INTEL...That's it.
  • Loknar - Wednesday, September 24, 2008 - link

    Years ago the Inquirer accused Anandtech of being pro-AMD. Check out the old Athlon XP articles. I won't let you accuse Anandtech of being biased! This is one of the only smart website in the world, please look in your own backyard before accusing the only ones doing true reporting.
    Anyway.. what is this about AMD vs Intel? We are enthusiastically watching the competitors fighting each other in the most healthy way. Did you buy AMD stocks or - why do you seem to have personal interest in this matter?
    Chill out and enjoy the nice products this competition brings is what I'm saying.
  • whatthehey - Wednesday, September 24, 2008 - link

    Anyone who ever - EVER - refers to someone form the Inquirer as being "right" is so obviously stupid that you don't even deserve to read articles like this. All you'll do is hurt your tiny little brain trying to fit truth into your world-view where AMD rules, Intel sucks, and Charlie isn't an idiot.

    FWIW, I read this article and didn't feel it was at all Intel biased. We all know that AMD can't compete worth a damn on the desktop, and AnandTech has been one of the few sites that has provided any serious server articles where they have frequently pointed out performance advantages AMD still maintains. Even this article is quite positive for AMD, showing that many IT admins with Opteron servers should be fine for a while yet. If you're buying a new server, Dunnington appears to (finally) take the performance crown for 4S/8S and virtualization servers. I also understand how complex coming up with anything resembling a repeatable virtualization benchmark, so it's nice to see some independent testing that doesn't end up praising blade farms. Not that there's anything wrong with blades... other than the proprietary nature and extremely high costs.
  • socrilles07 - Wednesday, September 24, 2008 - link

    I don't get it - instead of using the already released high end AMD processor they used the much lower price point processor for a quite unfair comparison. In the end they make assumptions about what the performance to watt will be in the higher end processor. I thought anandtech was suppose to be THE review site, can you not afford the faster processor? or has AMD stopped providing you samples because of you bias? Lets do Apples to Apples comparisons
  • JohanAnandtech - Wednesday, September 24, 2008 - link

    Add 8% to our 8356 benchmarks and you'll know where the AMD Opteron 8360SE ends up in the best case. It is not that hard.

    From price/performance/Watt point of view, the 8356 is the best offer AMD has right now, and I am sure AMD would sent us another CPU if they felt otherwise.

    We can not buy CPUs at $2000 a piece for each review that we write. If you work with virtualization and other server software, you have an idea how many manhours go in this kind of article. Add $8000 of AMD CPUs, $8000 of Intel CPUs... I hope you understand I don't feel like spending the rest of my time on ebay desperately trying to recoup some of my massive losses of buying server CPUs.
  • socrilles07 - Wednesday, September 24, 2008 - link

    you can't buy processors that cost $2000 a piece but some how you manage to get samples of processors costing twice that before they are released......so obviously you are no longer getting samples from AMD for some reason if not you could've done a comparison with at least the high end processor if not the next gen AMD processor which wouldve been more like the anandtech of the past.
  • JohanAnandtech - Wednesday, September 24, 2008 - link

    "so obviously you are no longer getting samples from AMD for some reason"

    We'll see. :-)
  • helldrell666 - Tuesday, September 23, 2008 - link

    What a good INTEL supporting article.But, It is expected from anandetch.Their ATOM review that made ATOM look like the best offering in it's category and their phenom reviews that made the phenom look like a two dual cores on a chip with one disabled.....These days one must take every little thing with a lot of salt.
    Bulldoze.....!!!!
    Anantech reviews of AMD's products are stuffed with false and biased perspectives and numbers.
  • npp - Tuesday, September 23, 2008 - link

    Look, we're trying to get some discussion here. If you don't like anandtech and you're convinced that it is biased towards Intel, why do you keep reading it? And if you've expected that a six-core Intel CPU would be slower than an AMD quad-core, you were obvoiusly mistaken, so take a note and give some constructive criticism, if you can.

Log in

Don't have an account? Sign up now