Date: Sat, 06 Sep 1997 21:07:02 -0700 From: "Michael L. VanLoon -- HeadCandy.com" <michaelv@MindBender.serv.net> To: S ren Schmidt <sos@sos.freebsd.dk> Cc: mal@algonet.se (Mats Lofkvist), current@freebsd.org Subject: Re: lousy disk perf. under cpu load (was IDE vs SCSI) Message-ID: <199709070407.VAA04801@MindBender.serv.net> In-Reply-To: Your message of Sat, 06 Sep 97 23:40:24 %2B0200. <199709062140.XAA07333@sos.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
>This is about half the rate as on an unloaded system... >So maybe this is handled better in current, or EIDE w/DMA is not >as bad as people think. The only advantage with SCSI these days >seems to be the ability to add more than 4 devices easily, and >to add them externally of the machine. But then again you have to >pay solid bucks to get that :) Why is it necessary to bring this up over and over again. There is much more to SCSI for high-end systems. Like drives spread across bunches of controllers. Tagged-command-queuing, which allows multiple outstanding commands to multiple drives, on multiple conrollers, simultaneously, which is a BIG win on large ccd stiped partitions. Etc. Of course, if you're comparing systems with one or two drives, there probably isn't going to be a lot of difference. EIDE by itself isn't slow -- it's just inefficient for lots of disk traffic, especially with lots of disks. I ran some tests myself. The drop-off was much less on my system. Of course, my systems is very different. I ran it against a ccd spread over four 1GB SCSI drives, and three SCSI controllers (a 2940UW and a dual-channel 3940UW), with tagged-command-queuing enabled. It's an Asus Triton-1 board (P55TP4N) with a Cyrix 6x86 P166+, 64MB RAM, running NetBSD-1.2.1. "No load" means all the standard system processes are running, along with a few X apps, but nothing using any real CPU time. Loadit was a simple program I wrote (appended at the bottom), which simply generated a constant load of one process, each. I don't mean this in a condescending way, but I'd really like to see this same kind of test run against four ccd-striped EIDE drives, running in both PIO mode, and in DMA mode. Anyone have four drives they could test it with? I only have a couple, and one is committed elsewhere. Here are the results from the tests I ran: time dd if=/dev/rccd0f of=/dev/null bs=64k count=4096, no load: 268435456 bytes transferred in 35 secs (7669584 bytes/sec) 0.026u 1.726s 0:35.27 4.9% 0+0k 6+1io 10pf+0w time dd if=/dev/rccd0f of=/dev/null bs=64k count=4096, 1 loadit: 268435456 bytes transferred in 35 secs (7669584 bytes/sec) 0.021u 1.727s 0:35.46 4.9% 0+0k 0+1io 0pf+0w time dd if=/dev/rccd0f of=/dev/null bs=64k count=4096, 4 loadits: 268435456 bytes transferred in 35 secs (7669584 bytes/sec) 0.021u 1.715s 0:35.17 4.9% 0+0k 0+1io 0pf+0w iozone, no other load: 16 512 7390844 3695422 16 1024 7695970 3608003 16 2048 7695970 3623588 16 4096 7951287 3608003 16 8192 7839820 3592551 iozone, 1 loadit: 16 512 5537034 3813003 16 1024 7695970 3615779 16 2048 7731435 3562041 16 4096 7876627 3655166 16 8192 7839820 3615779 iozone, 4 loadits: 16 512 2176033 3245109 16 1024 3189584 3509877 16 2048 5429519 3466366 16 4096 5226547 3711773 16 8192 7731435 3577231 bonnie, no other load: -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 5971 97.2 6639 35.8 1455 8.0 3667 52.4 3786 10.8 68.7 2.5 24.756u 22.249s 3:42.11 21.1% 0+0k 22931+19721io 14pf+0w bonnie, 1 loadit: -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 3281 53.5 6732 36.3 1469 8.1 3431 48.8 3837 10.9 68.0 2.6 24.549u 22.408s 3:57.36 19.7% 0+0k 22949+19727io 14pf+0w bonnie, 4 loadits: -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 1258 20.6 4695 24.8 1464 8.1 1370 19.7 3762 10.9 68.2 2.5 24.368u 22.793s 5:40.27 13.8% 0+0k 22951+19732io 14pf+0w Here's loadit: int main() { while (1) { /* no code */; } } ----------------------------------------------------------------------------- Michael L. VanLoon michaelv@MindBender.serv.net Contract software development for Windows NT, Windows 95 and Unix. Windows NT and Unix server development in C++ and C. --< Free your mind and your machine -- NetBSD free un*x >-- NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3, Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32... NetBSD ports in progress: PICA, others... -----------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709070407.VAA04801>