WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

[Xen-users] Block I/O questions

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] Block I/O questions
From: Gerd Stolpmann <info@xxxxxxxxxxxxxxxxx>
Date: Wed, 29 Mar 2006 15:10:15 +0200
Delivery-date: Wed, 29 Mar 2006 14:02:17 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Hello,

after doing a benchmark where Xen 2.0.7 was magnitudes of orders faster
than the native system, I have some questions about how Xen performs
block I/O.

The particular benchmark forks 100 processes, and each process writes a
file of 50 MB, writes it again, reads it, and reads it again. Because we
are doing that 100 times in parallel, I/O scheduling has a massive
effect on the results. (See below for the script.)

For a native system I measured:

- first write: 500 KB/s throughput per process (but sometimes 
  much less)
- second write: 460 KB/s
- first read: 80 KB/s
- second read: 80 KB/s

The Xen VM reversed things:

- first write: 100 KB/s
- second write: 400 KB/s
- first read: 410 KB/s
- second read: 410 KB/s

As you can see the VM is much faster reading the files. Do you have an
explanation for this?

The other surprising effect is that the first write (where the blocks
for the files are allocated) is slower in the VM.

I suppose Xen has additional I/O buffers. Can somebody describe how they
change I/O in general? Are the I/O requests batched or reordered?

Is there an impact on the safety of the disk data? Does buffering
increase the likeliness of filesystem corruption? Are I/O barriers
respected?

The script uses iozone (www.iozone.org). /Data is an empty ext3
partition stored in a physical partition.

files=""
n=0
while [ $n -lt 100 ]; do
  files="$files /Data/testfile.$n"
  n=$((n+1))
done
iozone -i 0 -i 1 -r 64k -s 50M -t 100 -e -F $files

Gerd

P.S. I also ran this benchmark on ESX server. It crawls...

-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@xxxxxxxxxxxxxxxxx          http://www.gerd-stolpmann.de
Phone: +49-6151-153855                  Fax: +49-6151-997714
------------------------------------------------------------


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

<Prev in Thread] Current Thread [Next in Thread>