Ads

Virtual Overhead?

December 9, 2009
Filed under: Featured, Sun, Technology News 

So you’re wondering about operating system efficiency or the overhead of
virtualization. How about a few data points?


SAP created benchmarks that
measure transaction performance.
One of them, the SAP SD, 2-Tier benchmark, behaves more like real-world workloads
than most other benchmarks, because it exercises all of the parts of a system:
CPUs, memory access, I/O and the operating system. The other factor that
makes this benchmark very useful is the large number of results submitted
by vendors. This large data set enables you to make educated performance comparisons
between computers, or operating systems, or application software.

A couple of interesting comparisons can be made from this year’s results.
Many submissions use the same hardware configuration:
two Nehalem (Xeon X5570) CPUs (8 cores total) running at 2.93 GHz, and
48GB RAM (or more).
Submitters used several different operating systems: Windows Server 2008 EE,
Solaris 10, and SuSE Linux Enterprise Server (SLES) 10. Also, two
results were submitted using some form of virtualization: Solaris 10 Containers
and SLES 10 on VMware ESX Server 4.0.


Operating System Comparison



The first interesting comparison is of different operating systems and database
software, on the same hardware, with no virtualization. Using the hardware
configuration listed above, the following results were submitted. The Solaris 10 and
Windows results are the best results on each of those operating systems, on
this hardware. The SLES 10 result is the best of any Linux distro, with any
DB software, on the same hardware configuration.

Operating System DB Result (SAPS)

Solaris 10 Oracle 10g 21,000

Windows Server 2008 EE SQL Server 2008 18,670

SLES 10 MaxDB 7.8 17,380


(Note that all of the results submitted in 2009 cannot be compared against
results from previous years because SAP changed the workload.)


With those data points, it’s very easy to conclude that for transactional workloads, the combination of
Solaris 10 and Oracle 10g is roughly 20% more powerful than Linux and MaxDB.


Virtualization Comparison


The virtualization comparison is also interesting. The same benchmark was run
using Solaris 10 Containers and 8 vCPUs. It was also run using SLES 10
on VMware ESX, also using 8 vCPUs.

Operating System Virtualization DB Result (SAPS)

Solaris 10 Solaris Containers Oracle 10g 15,320

SLES 10 VMware ESX MaxDB 7.8 11,230

Interpretation



Some of the 36% advantage of the Solaris Containers result is due to
the operating systems and DB software, as we saw above. But the rest is due
to the virtualization tools.
The virtualized and non-virtualized results for each OS had only one difference:
virtualization was used. For example, the two Solaris 10 results shown above
used the same hardware, the same OS, the same DB software and the same workload.
The only difference was the use of Containers and the limitation of 8 vCPUs.


If we assume that
Solaris 10/Oracle 10G is consistently 21% more powerful than SLES 10/MaxDB on this
benchmark, than it’s easy to conclude that VMWare ESX has 13% more overhead than
Solaris Containers when running this workload.


However, the non-virtualized performance advantage of the Solaris 10 configuration over
that of SLES 10 may be different with 8 vCPUs than with 8 cores. If Solaris’
advantage is less, then the overhead of VMware is even worse. If the advantage of
Solaris 10 Containers/Oracle over VMware/SLES 10/MaxDB with 8 vCPUs is more than
the non-virtualized results, than the real overhead of VMware is not quite that bad.
Without more data, it’s impossible to know.


But one of those three cases (same, less, more) is true. And the claims
by some people that VMware ESX has “zero” or “almost no” overhead are clearly
untrue, at least for transactional workloads. For compute-intensive workloads,
like HPC, the overhead of software hypervisors like VMware is typically much smaller.

What Does All That Mean?



What does that overhead mean for real applications? Extra overhead means
longer response times for transactions or fewer users per workload, or both,
and it also means that fewer workloads (guests) can be configured per system.

Qualification



Of course, the comparison shown above only applies to certain types of
workloads. You should test your workload on different configurations
before committing yourself to one.


Disclosure


For more detail, see
the results
for yourself.

SAP wants me to include the results:


Best result for Solaris 10 on 2-way X5570, 2.93GHz, 48GB:

Sun Fire X4270 (2 processors, 8 cores, 16 threads) 3,800 SAP SD Users, 21,000 SAPS, 2x 2.93 GHz Intel Xeon x5570, 48 GB memory, Oracle 10g, Solaris 10, Cert# 2009033.


Best result for any Linux distro on 2-way X5570, 2.93GHz, 48GB:

HP ProLiant DL380 G6 (2 processors, 8 cores, 16 threads) 3,171 SAP SD Users, 17,380 SAPS, 2x 2.93 GHz Intel Xeon x5570, 48 GB memory, MaxDB 7.8, SuSE Linux Enterprise Server 10, Cert# 2009006.



Result on Solaris 10 using Solaris Containers and 8 vCPUs:

Sun Fire X4270 (2 processors, 8 cores, 16 threads) run in 8 virtual cpu container, 2,800 SAP SD Users, 2x 2.93 GHz Intel Xeon X5570, 48 GB memory, Oracle 10g, Solaris 10, Cert# 2009034.



Result on SuSE Enterprise Linux as a VMware guest, using 8 vCPUs:

Fujitsu PRIMERGY Model RX300 S5 (2 processors, 8 cores, 16 threads) 2,056 SAP SD Users, 2x 2.93 GHz Intel Xeon X5570, 96 GB memory, MaxDB 7.8, SUSE Linux Enterprise Server 10 on VMware ESX Server 4.0, Cert# 2009029.



SAP, R/3, reg TM of SAP AG in Germany and other countries.

More Info : click here

Similar Posts

Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





Subscribe without commenting