(S)ATA performance in FBSD 6.2/7.0

Cheffo cheffo at FreeBSD-BG.org
Fri Mar 2 12:04:09 UTC 2007


Hi,


Ted Mittelstaedt wrote:
> ----- Original Message ----- 
> From: "O. Hartmann" <ohartman at zedat.fu-berlin.de>
> To: <freebsd-performance at freebsd.org>; <freebsd-questions at freebsd.org>
> Sent: Friday, March 02, 2007 1:38 AM
> Subject: (S)ATA performance in FBSD 6.2/7.0 
> 
> 
>> The last days I tried to figure out why some of my lab's FreeBSD boxes 
>> and also mine at home seem to be outperformed by some Linux setups 
>> around here and I saw something interesting.
>>
> 
> blah blah blah deleted
> 
>> Before digging into this problem deeper with benchmarks, could anyone 
>> explain why FreeBSD reaches this 33 MB/s limit (sounds like UDMA 33 
> 
> man mount
> 
> read section on "async"
> 
> linux by default mounts async
> 
> freebsd by default mounts sync
> 
> you can change FBSD to async
> 
> then watch your fs scramble during a power failure
> 
> no big deal, it's only your data.
> 
> Ted

If SYNC is default how can you explain this:

[12:58]root at hater:~# mount
/dev/ad4s3a on / (ufs, local, synchronous)
devfs on /dev (devfs, local)
/dev/ad4s3d on /tmp (ufs, local, soft-updates)
/dev/ad4s3f on /usr (ufs, local, soft-updates)
/dev/ad4s3e on /var (ufs, local, soft-updates)

[13:00]root at hater:~# cat /etc/fstab
# Device                Mountpoint      FStype  Options         Dump 
Pass#
/dev/ad4s3b             none            swap    sw              0       0
/dev/ad4s3a             /               ufs     rw,sync         1       1
/dev/ad4s3d             /tmp            ufs     rw              2       2
/dev/ad4s3f             /usr            ufs     rw              2       2
/dev/ad4s3e             /var            ufs     rw              2       2

And this is only because I manually add *sync* to my /etc/fstab.

E.g if sync is default why mount do not report that my /dev/ad4s3f on 
/usr is mounted synchronous?

 From what I seed in rc.X scripts mount -a -t ${mount_excludes} is used 
to mount things form fstab at boot time (sync or async is not set 
anywhere so we use dafault options here)

So I'm pretty sure that for type ufs async is default.

Also I do not see why sync should report different speeds for copy and 
benchmark tools if they do the same thing?

Just to be sure I added to my /tmp entry async in /etc/fstab:
/dev/ad4s3d             /tmp            ufs     rw,async     2       2

umounted and mounted again and still have:
/dev/ad4s3d on /tmp (ufs, local, soft-updates)

I think the problem is that the benchmark runs with small files and most 
files are in cache that's why it shows higher speeds - try to run 
bonnie++ with more and bigger files to be sure that the cache is not 
enough and to be able to see the real performance of your HDDs.

PS:

Here is what I got from RAID10 4x160GB SATA2 HDDs (areca RAID)

BLAH - bonnie++ -d /var/tmp -u root -s 16g -n 256:65536:65536:16

Version 1.93c       ------Sequential Output------ --Sequential Input- 
--Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- 
--Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP 
/sec %CP
blah.cmotd.com  16G   159  88 54264  24 24727  12   299  94 70744  19 
223.5  12
Latency             63581us     803ms    1123ms   93936us   94991us 
251ms
Version 1.93c       ------Sequential Create------ --------Random 
Create--------
blah.cmotd.com      -Create-- --Read--- -Delete-- -Create-- --Read--- 
-Delete--
files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 
/sec %CP
  256:65536:65536/16   715  24   826  25 17321  49   733  24    51   2 
6039  70
Latency              1220ms     408ms    2805ms    1189ms     692ms 
2735ms

50MB/s write & 70MB/s read from 4HDDs .. so I do not know how you expect
75MB/s with single HDD.

-- 
Best Wishes,
Stefan Lambrev
ICQ# 24134177


More information about the freebsd-questions mailing list