Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Oct 2005 19:30:24 +0200
From:      Patrick Proniewski <patpro@patpro.net>
To:        freebsd-performance@freebsd.org
Subject:   Re: dd(1) performance when copiing a disk to another
Message-ID:  <3509E78F-E90F-4056-AD4C-FDDDC41A4A46@patpro.net>
In-Reply-To: <E6243148329F3A468BC8F98468FC4BB404616855@fw1-ex03.c-b.net>
References:  <E6243148329F3A468BC8F98468FC4BB404616855@fw1-ex03.c-b.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

thank you all for these interesting explanations.

I've made some more tests with my disks :
As you'll see, for block size greater than 64k, the HDD ad6 (hitachi)  
is the bottleneck.
bs of 1m and 512k yield to best transfert rates between ad4 and ad6  
and using a pipe between to dd will lower the performance.

best regards, and thank you again,

Pat,

#### /dev/zero to ad6

# dd if=/dev/zero of=/dev/ad6 bs=1m count=1000
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 31.047655 secs (33773114 bytes/sec)

# dd if=/dev/zero of=/dev/ad6 bs=8k count=128000
128000+0 records in
128000+0 records out
1048576000 bytes transferred in 31.580223 secs (33203565 bytes/sec)

#### ad4 (SATA150) to ad6 (SATA150)

# dd if=/dev/ad4 of=/dev/ad6 bs=8k count=128000
128000+0 records in
128000+0 records out
1048576000 bytes transferred in 50.916216 secs (20594146 bytes/sec)

# dd if=/dev/ad4 of=/dev/ad6 bs=64k count=16000
16000+0 records in
16000+0 records out
1048576000 bytes transferred in 30.925397 secs (33906630 bytes/sec)

# dd if=/dev/ad4 of=/dev/ad6 bs=128k count=8000
8000+0 records in
8000+0 records out
1048576000 bytes transferred in 31.462153 secs (33328170 bytes/sec)

# dd if=/dev/ad4 of=/dev/ad6 bs=256k count=4000
4000+0 records in
4000+0 records out
1048576000 bytes transferred in 30.819234 secs (34023428 bytes/sec)

# dd if=/dev/ad4 of=/dev/ad6 bs=512k count=2000
2000+0 records in
2000+0 records out
1048576000 bytes transferred in 30.589651 secs (34278783 bytes/sec)

# dd if=/dev/ad4 of=/dev/ad6 bs=1m count=1000
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 30.660553 secs (34199514 bytes/sec)

# dd if=/dev/ad4 bs=1m count=1000 | dd of=/dev/ad6 bs=1m
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 33.998716 secs (30841635 bytes/sec)
0+16000 records in
0+16000 records out
1048576000 bytes transferred in 34.001099 secs (30839474 bytes/sec)





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3509E78F-E90F-4056-AD4C-FDDDC41A4A46>