Subject: A brief c/g performance test
To: None <tech-perform@netbsd.org>
From: Ken Wellsch <kwellsch@tampabay.rr.com>
List: tech-perform
Date: 10/05/2001 09:36:18
After seeing David Brownlee's posting on "Block/fragment sizes and
cpg" it reminded me I wanted to try out some varying c/g settings
as has been suggested here and on other lists.

On a -current i386 box (P3/800,1Gb/mem,IBM-15G-75GXP) running current
cvs'ed yesterday, I tried a variety of c/g settings.  Unlike a trial
from the previous day where I used a spare ST15150N, I was actually
able to select almost any value for c/g.  The geometry of the ST15150
apparently precludes much diversity in c/g values (e.g. 16 & 32 only).

I had played with the PostMark benchmark before on a previous project
and thought it did a nice job of generating a lot of file activity.
As per the tech-report I selected the high test values - 20,000 files
and 100,000 transactions.  Each run took over 40 minutes and consumed
about 1/3 of the 4Gb partition I was using (the partition I used is at
the disk's end, mounted with softdep). Oh yes, unlike the tech-report,
I selected file sizes of 500b-100k rather than the default 500b-10k.

(BTW the Bonnie benchmark tells me I can do ~30MB/s I/O on this drive)

Here is a summary of my results (16 c/g is the default):

---------------------------------------------------------------------------

/dev/rwd0h: 4428.2MB 9068976 sectors in 8997 cylinders of 16 tracks, 63 sectors

    cyl grp  c/g   MB/g    i/g  trans time  trans/s  read MB/s  write MB/s
     1125     8    3.94   1024     2750s       36     1.03        1.48
      563    16    7.88   1984     2641s       37     1.07        1.53
      282    32   15.75   3904     2433s       41     1.17        1.67
      225    40   19.69   4928     2374s       42     1.20        1.71
      188    48   23.62   5888     2405s       41     1.18        1.69
      141    64   31.50   7808     2447s       40     1.16        1.66

---------------------------------------------------------------------------

NetBSD 1.5Y (COPPERMINE) #0: Thu Oct  4 08:55:19 EDT 2001
    kwellsch@coppermine:/usr/src/sys/arch/i386/compile/COPPERMINE
cpu0: Intel Pentium III (Coppermine) (686-class), 801.85 MHz
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 2-way
cpu0: L2 cache 256 KB 32b/line 8-way
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,FGPAT,PSE36,MMX,FXSR,SSE>
total memory = 1023 MB
avail memory = 946 MB
   ...
wd0 at pciide1 channel 0 drive 0: <IBM-DTLA-307015>
wd0: 14649 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 30003120 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA data transfers)
   ...

---------------------------------------------------------------------------

# newfs -c 40 /dev/rwd0h

/dev/rwd0h:     9068976 sectors in 8997 cylinders of 16 tracks, 63 sectors
        4428.2MB in 225 cyl groups (40 c/g, 19.69MB/g, 4928 i/g)

# mount -o softdep /dev/wd0h /mnt

# /usr/pkg/sbin/postmark

PostMark v1.5 : 3/27/01
pm>set size 500 100000
pm>set number 20000
pm>set transactions 100000

pm>run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
Time:
        2486 seconds total
        2374 seconds of transactions (42 per second)

Files:
        69969 created (28 per second)
                Creation alone: 20000 files (217 per second)
                Mixed with transactions: 49969 files (21 per second)
        49951 read (21 per second)
        50015 appended (21 per second)
        69969 deleted (28 per second)
                Deletion alone: 19938 files (996 per second)
                Mixed with transactions: 50031 files (21 per second)

Data:
        2975.96 megabytes read (1.20 megabytes per second)
        4259.03 megabytes written (1.71 megabytes per second)

---------------------------------------------------------------------------