Subject: Re: Bad performance of virtual disk driver
To: None <port-xen@NetBSD.org>
From: Jed Davis <jdev@panix.com>
List: port-xen
Date: 06/24/2005 02:24:56
A long time ago, in article <20050503133455.GA3220@colwyn.zhadum.de>,
Matthias Scheler  <tron@zhadum.de> wrote:
> 
> The performace of the virtual disks is very bad ...
> 
> 	# dd if=/dev/xbd1b of=/dev/null bs=1024k
> 	512+0 records in
> 	512+0 records out
> 	536870912 bytes transferred in 331.800 secs (1618055 bytes/sec)
> 
> ... compared to the performance in the Linux dom0:
> 
> 	# dd if=/dev/vg/matthias-1swap of=/dev/null bs=1024k
> 	512+0 records in
> 	512+0 records out
> 	536870912 bytes transferred in 15.469114 seconds (34705990 bytes/sec)
> 
> Has anybody else observered this problem?

I have, in fact.  I think you'll find (with e.g. iostat) that NetBSD is
making fairly small disk requests (2k, I think it was?) when you read
from the block device, regardless of the size of the read().  Try dd'ing
from the raw device (e.g. /dev/rxbd1b) instead.

-- 
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l))))))  (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k)))))))    '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))