Date: Tue, 09 Nov 1999 23:22:58 -0500 From: Simon Shapiro <shimon@simon-shapiro.org> To: Bruce Evans <bde@zeta.org.au> Cc: freebsd-arch@freebsd.org Subject: Re: I/O Evaluation Questions (Long but interesting!) Message-ID: <3828F322.B62D174E@simon-shapiro.org> References: <Pine.BSF.4.10.9911101412490.12295-100000@alphplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote: > > > And this, ladies and gentlemen is what I do not understand; > > > > Why is random WRITE to a block device about 10-11 times > > slower than raw device? > > Actually, sequential read is 1/3 of raw device too. Why? > > Block devices have to use a fixed block size. This size is > normally BLKDEV_IOSIZE. For historical reasons, BLKDEV_IOSIZE > is normally too small. On i386's, it is 2048 in RELENG_3 and > 4096 in -current. -current has a sysctl to set the default > size. > > Large i/o's are split up into blocks of the fixed size. Small > blocks are very bad for sequential i/o's. They may actually be > good for random i/o's if the original i/o's are small. > > Bruce Thanx Bruce. What I observed, is that ALL block device I/O is happening in 8KB calls, except for the 512 bytes calls for slice and partition management (5 of them, methinks). The 10:1 random write problem may be mine; An ancient and well hidden bug in st.d which made lock unlock calls for every i/o. We run circles around NT in the Random I/O department, but take a beating in the sequential I/O arena; For about the same hardware, they do 98 MB/Sec, I cannot get more than 45. Their test machine has 64bit PCI. Mine does not. -- Sincerely Yours, Shimon@Simon-Shapiro.ORG 404.664.6401 Simon Shapiro Unwritten code has no bugs and executes at twice the speed of mouth To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3828F322.B62D174E>