Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Aug 2001 18:00:14 +0930
From:      Greg Lehey <grog@FreeBSD.org>
To:        Kevin Hui <khui@cs.toronto.edu>
Cc:        Alfred Perlstein <bright@mu.org>, freebsd-questions@freebsd.org
Subject:   Re: Experiencing very slow raw write speeds on /dev/ad1
Message-ID:  <20010812180014.D48115@wantadilla.lemis.com>
In-Reply-To: <Pine.GSO.4.21.0108101106250.9706-100000@gardiner.cs>; from khui@cs.toronto.edu on Fri, Aug 10, 2001 at 11:17:55AM -0400
References:  <20010810025156.N85642@elvis.mu.org> <Pine.GSO.4.21.0108101106250.9706-100000@gardiner.cs>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, 10 August 2001 at 11:17:55 -0400, Kevin Hui wrote:
>>> Adding write caching helped a lot.  Now the write speed jumps to ~15.8MB/s
>>> instead of the previous 3.5MB/s.
>>> Are there any other such settings I should pay attention to?  I asked
>>> because I believe that the performance is still not as good as can be.  I
>>> have the rawio program running under Linux with the identical hardware
>>> (accessing the /dev/raw/raw0, which maps to /dev/hdb) and I got ~38.4MB/s
>>> raw write speed (BTW I get ~38.4MB/s from both Linux and FreeBSD when I do
>>> the single-process raw sequential read test).
>>
>> I'm a bit confused, where do the numbers differ and what are the numbers?
>
> The numbers from simple runs (standard chunk size, single I/O thread,
> sequential read and then sequential write) are provided below.  The
> FreeBSD write number is less than half of what Linux is getting.
>
> -Kevin.
>
> Linux running rawio:
> --------------------
> Linux# time ./rawio -p 1 -s 8000000000 -r -w /dev/raw/raw1
>            Random read  Sequential read    Random write Sequential write
> ID          K/sec  /sec    K/sec  /sec     K/sec  /sec     K/sec  /sec
> aw1                      38406.8  2344                   38656.5  2359
>
> real    0m15.946s
> user    0m0.010s
> sys     0m1.790s
>
>
> FreeBSD running rawio:
> ----------------------
> FreeBSD# time ./rawio -p 1 -s 8000000000 -r -w /dev/ad1
>            Random read  Sequential read    Random write Sequential write
> ID          K/sec  /sec    K/sec  /sec     K/sec  /sec     K/sec  /sec
> ad1                      38410.4  2344                   15732.6   960
>       26.06 real         0.00 user         1.18 sys

Linux and rawio are not really compatible.  In Linux you have no
choice, you must go via buffer cache; this can give you results which
look much better.  Also, sequential I/O is not very informative,
especially if you only have one process.  It would be much more
interesting to look at random I/O and not change the default rawio
parameters (in particular, let 8 concurrent processes run).

Greg
--
When replying to this message, please copy the original recipients.
If you don't, I may ignore the reply.
For more information, see http://www.lemis.com/questions.html
See complete headers for address and phone numbers

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010812180014.D48115>