CONTEXT

In June-2008, in preparation for a number of client projects I was developing, it seemed prudent to perform some base installs of a number of 'standard' virtualization solutions, with the intent of confirming feature set; ease of installation; and performance of the various virtualization platforms on consistent hardware.

Clearly, benchmarks are imperfect and ultimately tell you only one thing (at best) - how well a given environment will run the chosen benchmark. This may or may not reflect on how well the environment will perform in other roles / for other benchmarks. However, such information may be of use / interest to compare and contrast features / environments / etc.

Virtualization platforms tested were:

  • Xen Express version 4.10
  • Xen Express Version 5.0 (results added Sept-08)
  • Virtual Iron (Single Server Edition v 4.2, and Enterprise Edition, v 4.3)
  • Major Vendor (Free edition) version XXXX (*)
  • Major Vendor (Free "embedded" version, Aug-08 release (*) (Results added Nov-08) )
  • Parallels Virtuozzo 4.0
  • ProxMox VE ver 0.9
(*) Note that no less than one major vendor does not like benchmarks being published on their product(s),  so their name(s) cannot be given here

Hardware used for tests was definitely "not" high end:

  • MSI K9MM-V mainboard (socket AM2 / AMD)
  • AMD Athlon 64 "3200+" 2.0ghz cpu
  • 2 gigs DDR2 553 ram
  • Local HDD, 320gig Seagate ATA

Test setup:

  • Install virtualization layer
  • Install Win2003 Server Std Trial edition in a virtual machine, with 512mb RAM available
  • Patch Windows to latest state via Windows Update / Offline Update
  • Run basic benchmark via RDP session to Win2003 host.
  • Benchmark app used was "PassMark Performance Test" (ver.6.1), from URL, http://www.passmark.com/products/pt.htm
  • Rationale for this benchmark app:
    - It wasn't a huge download, and was easy to install
    - seemed fairly broad based, covering a variety of CPU and Disk I/O performance metrics (which were of most interest to me)
    - note that graphics/video performance is inherently of NO interest to me (sessions are in RDP) - I'm concerned only with "server performance" (CPU/IO) here.

Declared inconsistencies:

  • "Bare Metal" install has 1 gig RAM available, rather than 512mb - smallest part I had
  • Virtual Iron Enterprise Edition uses iSCSI as the backing store for data, not a local disk - and thus, IMHO, it is not appropriate to compare the IO performance of VI_EE with the other IO results here. In particular, I was using a test-grade OpenFiler iSCSI target on old-grade hardware which doesn't offer same performance as local storage.
  • Note that the products here break out into 4 'bins' of virtualization, as far as I'm concerned, and as a result, we should anticipate 'inherently' some performance differences between these approaches to virtualization: (At least, according to 'dogma' ?)
    1 - Major Vendor Free Edition: full hardware abstraction / emulation; no requirement for VT assist hardware; anticipated to have more abstraction / performance penalty. (*)
    2 - XEN hypervisor: paravirtualization and full virtualization with VT assist. Xen and Virtual Iron are both in this category. Anticipated to have some performance hit.
    3 - KVM - Linux Kernel Virtualization Module: requires VT assist in this config; hypothetically anticipated to have less performance hit than Xen style hypervisor (?)
    4 - Container based: (Parallels/Virtuozzo) is not abstracting hardware, so is expected to have performance closest to bare metal.
(*) Unclear if (1) really should be 'that much slower' than (2), and possibly even (3) as well;
 I'm ultimately not qualified to really understand the precise inner works and nitty grit detail 
involved.

In general - for this page and this work - usual benchmark disclaimers apply of course :-)

Take Note:

  • I am running only the single virtualized system on the virtualization layer.
  • Typical production Virtualization deployments would be expected to have multiple virtual hosts on one physical host, which may impact performance metrics, etc.
  • Clearly I'm not using a "big" / production class physical host - and the intent of these 'basic tests' is simply to establish the "general overhead penalty" of the virtualization layer itself.

BenchMark - MeasureBare MetalKVM ProxVI_EEM.VendrVI_SSEVZHOSTXen Xprss P4 REF M.Vendr - sata diskXenX_5
CPU - Integer Math62.559.259.129.160.458.861.6 43.4 59.361.5
CPU - Floating Point Math359.7298339.4167.7315.8344.9335.9 235.2 335.1342.3
CPU - Find Prime Numbers147.4136142.274.1137.2135.1144.5 156.2 135.9142.6
CPU - SSE/3DNow!1307.51142.61254.6630.11154.11211.91269.3 1079.7 1187.61292.1
CPU - Compression17791712.51659.8812.51692.31652.21691.2 1659 17301740.4
CPU - Encryption12.912.312.76.212.512.412.6 11 12.512.9
CPU - Image Rotation286.5270.6282.4132.5263.2272.9284.3 171.6 272.8285.4
CPU - String Sorting1156.81071.61153.9538.71059.31089.81105.4 572.4 1092.81152.5
----------------------------------
Graphics 2D - Lines64915.626156.826.542.827.3 22.9 28.4759.6
Graphics 2D - Rectangles513.417.236.8142.838.741.737.8 27.6 43.5695.8
Graphics 2D - Shapes358.80.30.394.20.31.20.2 10.8 1393.5
Graphics 2D - Fonts and Text1319.518.247.6413.95460.844.9 165 53.91232.2
Graphics 2D - GUI1295.481.9227366.9196.4243.2278.9 132.1 246.81209.9
----------------------------------
Memory - Allocate Small Block1845.21739.11762.6804.21637.61780.51762 841.2 1689.81784.3
Memory - Read Cached973.4801.9957.6463.5858.3886.4955.8 1477.8 924.7958.6
Memory - Read Uncached884.1740.3852.1375.7840.1837.6855.7 1268.6 795.9869.6
Memory - Write861.1719.8938.1420.5885.8845.6811.4 533.2 857958.7
Memory - Large RAM198.87.77.119.632.550.754.9 206.5 3957.5
----------------------------------
Disk - Sequential Read4444.924.546.849.843.82.4 52.1 152.754.1
Disk - Sequential Write44.640.226.325.750.1432.5 48.3 25.454.1
Disk - Random Seek + RW2.712.88.58.82.92.71.4 3.4 183.62.9
----------------------------------
CD - Read---9.34.3---1.6------ --- 3.6--
CPU Mark414.5373.8400.6197.1375.7388.1401.7 317.8 385.5408.6
2D Graphics Mark2884.673.2170.6803.2167.5208.4187.7 213.4 191.33151.1
Memory Mark352.1296.4334154314.5325.4328.2 319.9 318.4342.2
Disk Mark330.2354.1214.3294.2371.8323.822.8 375.3 1307.7401.7
CD Mark---1139.1527.2---201.2------ --- 435.6---
----------------------------------
PassMark Rating645.2337.9282.5252.2274257.3198.4 248.3 488.9693.4

DISCLAIMER:

This was my own testing work, for my own use. It is not intended as a perfect test, nor ultimately for anyone else for that matter. Material here is released purely for the possible interest of others interested in virtualization. As-is / Where-Is / no implied nor express anything. Your results likely will vary, I'm sure mine will (at least somewhat) if I did this again tomorrow using the same gear. So take this all with a grain of salt and don't worry to much about the specific details. Please do not reproduce this work in any significant part anywhere else in any way. This web site is public so link to this page if you feel you need to 'distribute this data as it stands / in its entirety'.

TODO:

  • add M.Vendr commercial non-free (30 day trial) bench results
  • tidy up order, sort them by PassMark rating from left to right (declining scores)
  • add notes here / update & tidy disclaimers.

CONFIGURATION NOTES:

Bare Metal = Athlon 64bit socket AM2 2ghz / 1gig Ram
KVM ProxMox = As above, running ProxMox ver 0.9 / 512mb Virtual Machine
Xen Express = as above, running Xen Express v4.10 / 512mb Virtual Machine
P4 ref - bare metal older ref box, Classic socket 478 P4 @ 2.4ghz / 2gig ram / intel onboard video

Proxmox has ParaVirt NIC but not disk
Xen has Paravirt drivers for Nic and Disk
no special drivers on bare metal install (windows defaults) - appeared to autodetect fine for disk and NIC in particular.

all cases running Win2003 Std
except P4 box was Standard Winxp 32bit

something is fishy with KVM disk? And also with Xen disk ? Humm. More difference here than expected.
VERY Skeptical that SATA disk really made so much performance difference to M.Vendr-Server, 
but maybe possible? (more likely cache or some other feature(s) obscure 'real' performance?)

VI_SSE is Virtual Iron ver 4.2 / Single Server edition, Win2003, fully patched.

Maj.Vendr ver XXXX cannot be explicitly given here (recent download)

VERY surprised with performance of VZHOST/Virtuozzo - had been under impression it should be 
among the top of the performance curve, based on 'dogma and documentation'. Unclear if this 
result is utterly bogus, or if this is just an unexpected surprise. Already have re-tested 
this twice now on this hardware with similar results. Maybe need to test on different hardware?
Or something else ?

Note that XEN EXPRESS results were added Sept-19-08, since that new available release. It was tested against a SATA disk/local storage; same hardware otherwise as everything else.

ROUGH RESULTS ADDENDUM:

This will be integrated to table above shortly. But for now:

Some new bench results from Nov-1-08, running

  • "Major vendor" "Embedded Server eXtension Infrastructure" platform; on same 2ghz athlon /2gig ram system. Hypervisor is run from 2gig USB memory stick. No local storage. NFS/iSCSI via Intel Gig-Ether nic. Public/Management NIC interface is also via another intel GigEther Nic.
  • 2 different bench results below, the first is using iSCSI backed storage on openfiler 2.3 server; the second is NFS backed storage on openfiler 2.3 server. Storage network is dedicated gig-ether.

iSCSI backed storage - benchmark results:

Test Name	This Computer

CPU - Integer Math	59.9
CPU - Floating Point Math	335.9
CPU - Find Prime Numbers	145.0
CPU - SSE/3DNow!	1303.8
CPU - Compression	1714.7
CPU - Encryption	12.9
CPU - Image Rotation	195.2
CPU - String Sorting	1003.5
Graphics 2D - Lines	27.7
Graphics 2D - Rectangles	32.8
Graphics 2D - Shapes	0.3
Graphics 2D - Fonts and Text	44.3
Graphics 2D - GUI	244.4
Memory - Allocate Small Block	1730.4
Memory - Read Cached	952.8
Memory - Read Uncached	664.5
Memory - Write	915.6
Memory - Large RAM	48.4
Disk - Sequential Read	30.0
Disk - Sequential Write	25.5
Disk - Random Seek + RW	1.5
CPU Mark	387.2
2D Graphics Mark	171.6
Memory Mark	318.8
Disk Mark	206.5

PassMark Rating	227.2

NFS backed storage - benchmark results:

Test Name	This Computer

CPU - Integer Math	58.9
CPU - Floating Point Math	329.1
CPU - Find Prime Numbers	137.4
CPU - SSE/3DNow!	1296.7
CPU - Compression	1667.6
CPU - Encryption	12.2
CPU - Image Rotation	237.8
CPU - String Sorting	1126.5
Graphics 2D - Lines	27.8
Graphics 2D - Rectangles	40.9
Graphics 2D - Shapes	0.2
Graphics 2D - Fonts and Text	43.4
Graphics 2D - GUI	245.5
Memory - Allocate Small Block	1681.1
Memory - Read Cached	901.4
Memory - Read Uncached	651.0
Memory - Write	907.8
Memory - Large RAM	61.6
Disk - Sequential Read	30.2
Disk - Sequential Write	33.8
Disk - Random Seek + RW	24.0
CPU Mark	394.4
2D Graphics Mark	180.1
Memory Mark	310.7
Disk Mark	318.0
Pa
ssMark Rating	251.2