Skip site navigation (1)Skip section navigation (2)
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>