Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2013 15:28:56 -0500
From:      Karim Fodil-Lemelin <fodillemlinkarim@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: IBM blade server abysmal disk write performances
Message-ID:  <50F5BC08.1060700@gmail.com>
In-Reply-To: <CAA3ZYrACHLU-4OyhLdD%2BmfCDR_kubBg-AiVcopL-skqDurE7YA@mail.gmail.com>
References:  <CAA3ZYrACHLU-4OyhLdD%2BmfCDR_kubBg-AiVcopL-skqDurE7YA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15/01/2013 3:03 PM, Dieter BSD wrote:
> Disabling the disks's write cache is *required* for data integrity.
> One op per rev means write caching is disabled and no queueing.
> But dmesg claims "Command Queueing enabled", so you should be getting
> more than one op per rev, and writes should be fast.
> Is this dd to the raw drive, to a filesystem? (FFS? ZFS? other?)
> Are you running compression, encryption, or some other feature
> that might slow things down? Also, try dd with a larger block size,
> like bs=1m.
Hi,

Thanks to everyone that answered so far. Here is a follow up.  dd to the 
raw drive and no compression/encryption or some other features, just a 
naive boot off a live 9.1 CD then dd (see below). The following results 
have been gathered on the FreeBSD 9.1 system:

# dd if=/dev/zero of=toto count=100
100+0 records in
100+0 records out
51200 bytes transferred in 1.057507 secs (48416 bytes/sec)

# dd if=/dev/zero of=toto count=100 bs=104
100+0 records in
100+0 records out
10400 bytes transferred in 1.209524 secs (8598 bytes/sec)

# dd if=/dev/zero of=toto count=100 bs=1024
100+0 records in
100+0 records out
102400 bytes transferred in 0.844302 secs (121284 bytes/sec)

# dd if=/dev/zero of=toto count=100 bs=10240
100+0 records in
100+0 records out
1024000 bytes transferred in 2.173532 secs (471123 bytes/sec)

# dd if=/dev/zero of=toto count=100 bs=102400
100+0 records in
100+0 records out
10240000 bytes transferred in 19.915159 secs (514181 bytes/sec)

# dd if=/dev/zero of=toto count=100
100+0 records in
100+0 records out
51200 bytes transferred in 1.070473 secs (47829 bytes/sec)

# dd if=/dev/zero of=foo count=100
100+0 records in
100+0 records out
51200 bytes transferred in 0.683736 secs (74883 bytes/sec)

# dd if=/dev/zero of=foo count=100 bs=1024
100+0 records in
100+0 records out
102400 bytes transferred in 0.682579 secs (150019 bytes/sec)

# dd if=/dev/zero of=foo count=100 bs=10240
100+0 records in
100+0 records out
1024000 bytes transferred in 2.431012 secs (421224 bytes/sec)

# dd if=/dev/zero of=foo count=100 bs=102400
100+0 records in
100+0 records out
10240000 bytes transferred in 19.963030 secs (512948 bytes/sec)

# dd if=/dev/zero of=foo count=10 bs=1024000
10+0 records in
10+0 records out
10240000 bytes transferred in 19.615134 secs (522046 bytes/sec)

# dd if=/dev/zero of=foo count=1 bs=10240000
1+0 records in
1+0 records out
10240000 bytes transferred in 19.579077 secs (523007 bytes/sec)

Best regards,

Karim.




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