Re: FreeBSD 5.3b7and poor ata performance

From: Xin LI <delphij_at_frontfree.net>
Date: Wed, 20 Oct 2004 11:23:40 +0800
Hi, Scott,

On Tue, Oct 19, 2004 at 08:50:17PM -0600, Scott Long wrote:
> >You may want to try other block sizes, like 65536, 262144, 524288, 1048576
> >or so.  The peak performance block size depends heavily on hardware...
> >
> >Cheers,
> 
> This won't really matter.  physio will chop the blocks up into 128k 
> segments, and GEOM will cut them again into 64k segments.  Other than
> a minor amount of coelscing in these stages, it won't make a difference.

Oh...  Maybe the last experiment was done on a RELENG_4 box :-(

Here is my result on:
	mpt0: <LSILogic 1030 Ultra4 Adapter>
	da0: <FUJITSU MAS3735NC 5B08> Fixed Direct Access SCSI-3 device 
	da0: 320.000MB/s transfers (160.000MHz, offset 127, 16bit), Tagged Queueing Enabled
	da0: 70007MB (143374650 512 byte sectors: 255H 63S/T 8924C)

	FreeBSD 5.3-BETA7 (compiled three days before)


cvs# dd if=/dev/da0 of=/dev/null count=2000 bs=262144
2000+0 records in
2000+0 records out
524288000 bytes transferred in 6.654783 secs (78783636 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=4000 bs=131072
4000+0 records in
4000+0 records out
524288000 bytes transferred in 6.646773 secs (78878579 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=8000 bs=65536
8000+0 records in
8000+0 records out
524288000 bytes transferred in 6.643376 secs (78918913 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=16000 bs=32768 
16000+0 records in
16000+0 records out
524288000 bytes transferred in 6.639478 secs (78965244 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=32000 bs=16384   
32000+0 records in
32000+0 records out
524288000 bytes transferred in 6.637433 secs (78989573 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=64000 bs=8192  
64000+0 records in
64000+0 records out
524288000 bytes transferred in 11.262354 secs (46552257 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=128000 bs=4096  
128000+0 records in
128000+0 records out
524288000 bytes transferred in 20.617009 secs (25429877 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=256000 bs=2048   
256000+0 records in
256000+0 records out
524288000 bytes transferred in 39.554797 secs (13254726 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=512000 bs=1024   
512000+0 records in
512000+0 records out
524288000 bytes transferred in 77.219607 secs (6789571 bytes/sec)
cvs# dd if=/dev/da0 of=/dev/null count=1024000 bs=512   
1024000+0 records in
1024000+0 records out
524288000 bytes transferred in 154.969467 secs (3383170 bytes/sec)


However, with a systat -vm, it seems that the first case do less
transactions, so I guess I/O tps on da0 is the transaction with GEOM?

Cheers,
-- 
Xin LI <delphij frontfree net>	http://www.delphij.net/
See complete headers for GPG key and other information.


Received on Wed Oct 20 2004 - 01:23:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:18 UTC