Subject: Some Xen performance measurements
To: None <port-xen@netbsd.org>
From: Martti Kuparinen <martti.kuparinen@iki.fi>
List: port-xen
Date: 04/01/2005 12:29:43
Hi!

I tested NetBSD/xen domain0 and domainU (3.99.2) to get some idea
if this whole thing is suitable to run several low-CPU-intensive
hosts (Linux and xBSD) on a single 1U Dell PowerEdge 750 with 4 GB
of RAM.

My ultimate plan is to use bridge(4) and vlan(4) to build complex
networks using a single hardware (less noise, heat and electricity).
I'll write a howto similar to my RAID-1 for root filesystem document
once everything is up and running.

I haven't received those Dells yet so I tested the same setup (but less
domUs running bacause I only have 1 GB of RAM) on my desktop Dell
Dimension 8400.


NetBSD 3.99.2 (XEN0) #3: Fri Apr  1 10:46:57 EEST 2005
         root@localhost:/usr/src/sys/arch/i386/compile/XEN0
total memory = 122 MB
avail memory = 119 MB
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel (686-class), 2793.13 MHz, id 0xf34
...
wd0 at atabus0 drive 0: <Maxtor 6Y160M0>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 149 GB, 310019 cyl, 16 head, 63 sec, 512 bytes/sect x 312500000 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using 
DMA)


dom0 and all domUs were rebooted between tests. The actual test sequence
was this:

rm -rf /usr/src/sys/arch/i386/compile/GENERIC
cd /usr/src/sys/arch/i386/conf
config GENERIC
cd ../compile/GENERIC
time make dependall

Results
=======

1 x NetBSD 1024 MB GENERIC
--------------------------
446.60 real       405.61 user        31.97 sys

1 x NetBSD 128 MB XEN0
----------------------
490.51 real       411.75 user        63.14 sys

1 x NetBSD 128 MB XENU (vnd with 2 GB file-as-disk)
---------------------------------------------------
492.76 real       415.54 user        61.42 sys

1 x NetBSD 128 MB XENU (direct access to the wd0x partition)
------------------------------------------------------------
493.13 real       415.02 user        61.98 sys

4 x NetBSD 128 MB XENU (vnd with 2 GB file-as-disk)
---------------------------------------------------
1633.38 real      1396.94 user       177.58 sys
1641.86 real      1404.19 user       195.83 sys
1642.72 real      1403.38 user       196.25 sys
1633.69 real      1394.42 user       176.68 sys

4 x NetBSD 128 MB XENU (direct access to the wd0x partitions)
-------------------------------------------------------------
1626.80 real      1396.27 user       174.35 sys
1642.40 real      1405.37 user       196.97 sys
1627.71 real      1395.80 user       174.98 sys
1642.59 real      1406.99 user       195.47 sys

Remarks and questions
=====================

- One would assume that running 4 VMs would take 4x the compilation time
   compared to 1 VM. Any ideas why the time is only 1600 instead of 2000?

- Use of vnd(4) instead of direct access to the harddisk does not give
   any noticeable slowness, at least with this small number of VMs
   running at the same time.