* [ANNOUNCE] virtbench w/ kvm support
@ 2007-04-23 5:23 Rusty Russell
[not found] ` <1177305795.17026.56.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Rusty Russell @ 2007-04-23 5:23 UTC (permalink / raw)
To: kvm-devel
Hi all,
I've been toying around with a benchmark suite for virtualization, and
I've just added kvm support. You can download the source tarball
straight from the mercurial repo:
http://ozlabs.org/~rusty/virtbench/
http://ozlabs.org/~rusty/virtbench/?archive/tip.tar.bz2
README excerpt below.
Feedback and patches welcome!
Rusty.
Virtbench - Simple Benchmarking for Virtualization
http://ozlabs.org/~rusty/virtbench
Virtbench is a set of (mainly micro-) benchmarks designed to assist
coders optimize their hypervisors. Note that it won't tell you how
well a virtualization solution will perform in a real world situation.
Requirements:
sudo
/dev/net/tun: try "modprobe tun"
The networks 192.168.19.0 and 192.168.12.0 free to be used.
Quickstart:
# Build the code and root filesystems (will use sudo)
make
# Set the guest kernel location and maybe more
vi ./SETTINGS
# Run the benchmark (local mode)
sudo ./virtbench local
# Run the benchmark (kvm mode)
sudo ./virtbench kvm
More information:
(Note that virtbench is very much a work in progress)
Virtbench spawns 4 virtual machines running the virtbench client, then
runs various tests on them. It supports various backends, and you can
create a new directory to add new ones (see below):
- local (simply run each client as a normal process)
- lguest
- kvm
- qemu
Since most hypervisors require root privileges, virtbench is usually
run as root.
All benchmarks are measured as time taken to do some task, so smaller
is better. Currently virtbench has 14 microbenchmarks and 4
inter-guest benchmarks, but you can write new ones (see below).
Options which might be useful:
--ifname=<if>: use an interface other than "eth0" to get server IP.
--rough: don't run benchmarks as many times.
--distribution: show distribution details for results.
--csv=<file>: record complete results to file
--help: usage and list of benchmark names
[benchnames]: run this/these benchmarks
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ANNOUNCE] virtbench w/ kvm support
[not found] ` <1177305795.17026.56.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
@ 2007-04-23 12:49 ` Avi Kivity
[not found] ` <462CAB5E.9080301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Avi Kivity @ 2007-04-23 12:49 UTC (permalink / raw)
To: Rusty Russell; +Cc: kvm-devel
Rusty Russell wrote:
> Hi all,
>
> I've been toying around with a benchmark suite for virtualization, and
> I've just added kvm support. You can download the source tarball
> straight from the mercurial repo:
>
> http://ozlabs.org/~rusty/virtbench/
> http://ozlabs.org/~rusty/virtbench/?archive/tip.tar.bz2
>
> README excerpt below.
>
> Feedback and patches welcome!
>
Virtbench does not have puppy-nature on x86_64:
[avi@cleopatra virtbench]$ make
cc -g -Wall -Wmissing-prototypes -DNUM_MACHINES=4 -o virtbench server.c
results.c stdrusty.c talloc.c micro/context-switch.c micro/cow.c
micro/exec.c micro/fork.c micro/int-syscall.c micro/libc-syscall.c
micro/memburn.c micro/pio.c micro/pte-update.c micro/read-bandwidth.c
micro/read-latency.c micro/vmcall.c inter/bandwidth.c inter/pingpong.c
inter/sendfile.c inter/udp-bandwidth.c
results.c: In function ‘results_to_dist_summary’:
results.c:247: warning: format ‘%llu’ expects type ‘long long unsigned
int’, but argument 4 has type ‘u64’
results.c: In function ‘results_to_quick_summary’:
results.c:274: warning: format ‘%llu’ expects type ‘long long unsigned
int’, but argument 3 has type ‘u64’
results.c:274: warning: format ‘%llu’ expects type ‘long long unsigned
int’, but argument 4 has type ‘u64’
results.c:274: warning: format ‘%llu’ expects type ‘long long unsigned
int’, but argument 5 has type ‘u64’
results.c: In function ‘results_to_csv’:
results.c:287: warning: format ‘%llu’ expects type ‘long long unsigned
int’, but argument 4 has type ‘u64’
cc -g -Wall -Wmissing-prototypes -DNUM_MACHINES=4 -o virtclient client.c
stdrusty.c talloc.c micro/context-switch.c micro/cow.c micro/exec.c
micro/fork.c micro/int-syscall.c micro/libc-syscall.c micro/memburn.c
micro/pio.c micro/pte-update.c micro/read-bandwidth.c
micro/read-latency.c micro/vmcall.c inter/bandwidth.c inter/pingpong.c
inter/sendfile.c inter/udp-bandwidth.c
# 50M
dd if=/dev/zero of=rootfs/virtbench-root.tmp count=50 bs=1048576
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.384909 seconds, 136 MB/s
mke2fs -q -F rootfs/virtbench-root.tmp
# /dev/xvda needed for xen
set -e; sudo mount -text2 -o,loop,rw rootfs/virtbench-root.tmp /mnt; \
trap 'sudo umount /mnt' 0; \
sudo mkdir /mnt/lib /mnt/tmp /mnt/dev /mnt/proc; \
sudo mknod /mnt/dev/null c 1 3; \
sudo mknod /mnt/dev/zero c 1 5; \
sudo mknod /mnt/dev/console c 5 1; \
sudo mknod /mnt/dev/xvda b 202 0; \
sudo mknod /mnt/dev/xvda1 b 202 1
sync
[ rootfs/virtbench-root -ot rootfs/virtbench-root-0 ] || cp
rootfs/virtbench-root rootfs/virtbench-root-0
set -e; trap 'sudo umount /mnt' 0; \
sudo mount -text2 -o,loop,rw rootfs/virtbench-root-0 /mnt; \
sudo cp virtclient /mnt; \
sudo cp /lib/ld-linux* /mnt/lib; \
sudo cp /lib/libc* /mnt/lib; \
sudo cp -a /lib/tls /mnt/lib/tls
cp: cannot stat `/lib/ld-linux*': No such file or directory
make: *** [rootfs/virtbench-root-0] Error 1
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ANNOUNCE] virtbench w/ kvm support
[not found] ` <462CAB5E.9080301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-04-24 0:12 ` Rusty Russell
0 siblings, 0 replies; 3+ messages in thread
From: Rusty Russell @ 2007-04-24 0:12 UTC (permalink / raw)
To: Avi Kivity; +Cc: kvm-devel
On Mon, 2007-04-23 at 15:49 +0300, Avi Kivity wrote:
> Rusty Russell wrote:
> > Hi all,
> >
> > I've been toying around with a benchmark suite for virtualization, and
> > I've just added kvm support. You can download the source tarball
> > straight from the mercurial repo:
>
> Virtbench does not have puppy-nature on x86_64:
Hi Avi!
Ah, I've been concentrating on i386. I will do the port today (there's
also one test which is i386-specific, which needs to be
conditionalized).
I'll reply again when it's done...
Rusty.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-04-24 0:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-23 5:23 [ANNOUNCE] virtbench w/ kvm support Rusty Russell
[not found] ` <1177305795.17026.56.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-23 12:49 ` Avi Kivity
[not found] ` <462CAB5E.9080301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-24 0:12 ` Rusty Russell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox