pitiful performance of an SATA150 drive

Mikhail Teterin mi+kde at aldan.algebra.com
Mon Mar 26 18:36:38 UTC 2007


Over a year later this remains a problem -- exactly as described below...

No other SATA devices are present -- the only other IDE device is the DVD 
drive. My main disks are SCSI.

What's MUCH worse is that the (slowly) written data is also often corrupted... 
I use the drive to store our vast collection of photos and the backups. Every 
once in a while I encounter a corrupt JPEG file, and the backups are _always_ 
corrupt somewhere. Doing something like:

	dump 0auChf 16 0 - /home | bzip2 -9 > /store/home.0.bz2

always produces a corrupt file (as per ``bzip2 -t''). I used to blame the 
drive's temperature, but it now sits in its own enclosure and stays under 40 
Celsius.

When the drive is accessed, there are (according to `systat -vm') many 
thousands of interrupts 17 -- on my system these are shared between pcm0 and 
ehci0. Why are these triggered by accessing SATA is unclear, but the Intr's 
share of the CPU time is often above 80% of one processor's total (I have 4 
processors).

As I mentioned a year ago, Knoppix was accessing the same drive at much higher 
speeds, so I don't believe, the problem is with the hardware...

Please, advise. Thanks!

	-mi

On Wednesday 01 March 2006 11:07, Mikhail Teterin wrote:
= On Wednesday 01 March 2006, SЬren Schmidt wrote:
= = dd if=/dev/ad8 of=/dev/null bs=1m
= 
= Well, as I said, there is no obvious problems with _reading_. The above 
= command reads at well over 60Mb/s:
= 
= 	1638924288 bytes transferred in 25.374856 secs (64588516 bytes/sec)
= 
= _Writing_, however, remains pathetic:
= 
= 	dd of=/dev/ad8 if=/dev/zero bs=1m
= 	631242752 bytes transferred in 91.039066 secs (6933757 bytes/sec)
= 
= = The problem is the blocksize that gets in the way of utilizing full
= = transfer speed.
= 
= Did you really expect the blocksize to make an order of (decimal) magnitude 
= difference? :-) It made no difference at all :-(
= 
= Brian Candler asked:
= = Just to be clear: this is Knoppix running on the *same* machine as you've
= = been testing FreeBSD?
= 
= Correct.
= 
= = Aside: why are you using cat under FreeBSD, but dd under Knoppix? I'd use 
dd
= = everywhere for consistency.
= 
= Cat was slightly faster in my tests on FreeBSD. I used dd under Knoppix for 
= dd's throughput reporting -- I'm not aware of a monitoring tool like 
`systat' 
= under Linux.
= 
= Yours,
= 
= 	-mi
= 


More information about the freebsd-stable mailing list