[ Saturday, February 12, 2000 ] Martin Bene wrote:
> Try the tests again with a test like tiotest; make sure the size of your
> testfiles is at least double your physical RAM.
If size isn't specified, I have it defaulting to 2x size of /proc/kcore,
bracketed at 200 and 2000 MB :)
I was hoping to use an approach that didn't depend on CONFIG_PROCFS
but the only other (admittedly of limited portability) approach I
could find to call from perl didn't really look nearly as accurate:
/home/jmm> echo $(($(getconf _PHYS_PAGES)*$(getconf PAGE_SIZE)/1024/1024))
251
/home/jmm> ls -lh /proc/kcore
-r-------- 1 root root 256M Feb 12 11:16 /proc/kcore
> As an example, I'll include results from one of my systems using two 8Gig
> Maxtor 90871U2 drives. All measurements done from the same region(s) of the
> same drives.
>
[snip hdparm's escape from reality]
>
> Now the same disks measured using tiotest, using 200MB testfilesize (64MB
> RAM). Fileystems were created using mke2fs -b 4096 -i 16384 for plain disk
> and mirror and using mke2fs -b 4096 -i 16384 -Rstride=8 and chunksize 32K
> for the stripeset.
>
> Single ATA Disk:
>
> Dir Size BlkSz Thr# Read (CPU%) Write (CPU%) Seeks (CPU%)
> ----- ------ ------- ---- ------------- -------------- --------------
> hda8 200 4096 1 9.44094 5.85% 8.05522 7.77% 126.708 0.88%
> hda8 200 4096 2 10.0298 6.06% 8.73864 8.38% 141.826 0.49%
> hda8 200 4096 4 10.2249 7.05% 8.90083 9.12% 147.253 0.47%
> hda8 200 4096 8 10.6042 7.42% 8.78935 10.8% 155.544 0.54%
>
> Raid1 mirror:
>
> Dir Size BlkSz Thr# Read (CPU%) Write (CPU%) Seeks (CPU%)
> ----- ------ ------- ---- ------------- -------------- --------------
> md1 200 4096 1 10.3814 5.81% 9.43394 9.66% 133.826 1.20%
> md1 200 4096 2 11.5381 7.73% 9.48548 9.34% 142.070 0.81%
> md1 200 4096 4 12.8123 8.00% 9.55569 9.60% 151.459 0.68%
> md1 200 4096 8 13.0791 9.74% 9.17384 9.54% 156.069 0.58%
>
> Raid0 Stripeset:
>
> Dir Size BlkSz Thr# Read (CPU%) Write (CPU%) Seeks (CPU%)
> ----- ------ ------- ---- ------------- -------------- --------------
> md2 200 4096 1 19.4054 11.1% 16.5846 16.4% 150.003 0.93%
> md2 200 4096 2 19.0280 10.1% 16.7709 16.7% 203.939 1.17%
> md2 200 4096 4 19.1422 13.7% 16.5799 16.6% 218.725 1.20%
> md2 200 4096 8 19.1280 12.0% 14.6366 14.7% 244.285 1.22%
Looks like you'll be a good test case of read balancing in raid1 :)
Can you try Mika's read-balacing patch? It'd be good to see the results.
I'm hoping to switch the read/write in tiotest.c to mmap-based just
to see if it makes any significant difference in measured performance
soon. If nothing else, it may provide a testing ground for madvise()
capabilities which we could feed back to Chuck Lever :)
James