On Wed, Mar 4, 2009 at 2:10 AM, Peter Rabbitson <rabbit+list@xxxxxxxxx> wrote: > No takers? Can I provide more info/measurements/whatever? I would > really like to get to the bottom of this, pretty frustrating. > > Peter Rabbitson wrote: >> Hello, >> >> I have a sil 3124 PCI-X SATA card with 4 drives attached to it. >> When I read simultaneously from all 4 drives, I get the expected >> ~220MB/s combined read speed, limited by the presence of a 32bit >> card on the same bus (entire bus runs on 66mhz, mix of 64 and 32 >> bit cards). When I write to the drives however I only get half of >> that ~106MB/s combined. Can someone shed some light? >> >> All measurements are made on an idle system in single-user mode >> >> >> Combined read: >> root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M & done >> [1] 30243 >> [2] 30244 >> [3] 30245 >> [4] 30246 >> root@Arzamas:~/tr# 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 9.23146 s, 56.8 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 9.3649 s, 56.0 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 9.59152 s, 54.7 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 9.60045 s, 54.6 MB/s >> >> >> Combined write: >> root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M & done >> [1] 30239 >> [2] 30240 >> [3] 30241 >> [4] 30242 >> root@Arzamas:~/tr# 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 19.4508 s, 27.0 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 19.6314 s, 26.7 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 19.7663 s, 26.5 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 19.7598 s, 26.5 MB/s >> >> >> Individual read (making sure disks are good): >> root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M ; done >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 5.00963 s, 105 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 5.15979 s, 102 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 5.19258 s, 101 MB/s >> 500+0 records in >> 500+0 records out >> 524288000 bytes (524 MB) copied, 5.24153 s, 100 MB/s >> root@Arzamas:~/tr# >> >> >> Individual write: >> root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M ; done <snip> Did you verify /dev/zero is not the problem. It has been known to have throughput bugs that limit its ability to generate zeros. Strange I know. I always do a quick dd if=/dev/zero of=/dev/null bs=1m count=10000 type test to make sure I have good functionality in /dev/zero and /dev/null. (Never heard of an issue with /dev/null, but I have to send those zeros somewhere.) Greg -- Greg Freemyer Litigation Triage Solutions Specialist http://www.linkedin.com/in/gregfreemyer First 99 Days Litigation White Paper - http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf The Norcross Group The Intersection of Evidence & Technology http://www.norcrossgroup.com -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html