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>
