Been spending time lately testing out and trying to tune NFS mounts.
For testing IO, I've been using
This first option, dd, is fine for file creation tests and/or sequential reads but less flexible for random reads or random writes
To test random reads I thought I'd use iozone but don't see a solely random read test.
Then I thought I'd use the Oracle supplied tool, orion, to do random read test on an NFS mounted file system, but this doesn't work, at least on AIX 6.1, with my mount settings.
First orion test gave this error
OK, have to create "orion.lun" with either my lun locations or my file locations. I put in file locations:$ orion -run simple -testname orionORION: ORacle IO Numbers -- Version 220.127.116.11.0orion_20101123_1503rwbase_read_luncfg: SlfFopen error on orion.lunorion_parse_args: rwbase_read_luncfg failed
$ cat orion.lun/tmp/system01.dbf
Now get another error
$ orion -run simple -testname orionORION: ORacle IO Numbers -- Version 18.104.22.168.0orion_20101123_1508Test will take approximately 9 minutesLarger caches may take longerorion_spawn: skgpspawn failed: Error category: 27155, Detail: 2orion_main: orion_spawn failedNon test error occurredOrion exitingIllegal instruction(coredump)
Looks like the "orion" executable wasn't being found, at least not by execve
$ truss -f orion -run simple -testname orion...700502: execve("orion", 0x0FFFFFFFFFFBF2D0, 0x0FFFFFFFFFFFFB30) Err#2 ENOENT
so I ran it from my bin directory where the orion executable could be found. Now get another error
$ orion -run simple -testname orionORION: ORacle IO Numbers -- Version 22.214.171.124.0orion_20101123_1510Test will take approximately 9 minutesLarger caches may take longerstorax_skgfr_openfiles: File identification failed on /kyle/system01.dbfOER 27054: please look up error in Oracle documentationAdditional information: 6rwbase_lio_init_luns: lun_openvols failedrwbase_rwluns: rwbase_lio_init_luns failedorion_thread_main: rw_luns failedNon test error occurredOrion exiting
If the datafile was on "/tmp" it word fine but if it was on my NFS mount it failed with the above error. Hmm - doesn't work over NFS?
Finally I decided to try bonnie++. I download, unziped, tar extracted bonnie++ , ran "./configure" and then make, but got error
$ makemake: 1254-002 Cannot find a rule to create target bon_io.o from dependencies.Stop.
For some reason the rule for the ".o" doesn't seem to work:
%.o: %.cpp %.h bonnie.h port.h$(CXX) -c $<
Not feeling like trying to figure make out I just did it by hand
That worked. Test results coming$ for i in *cpp; doname=`echo $i | sed -e 's/.cpp//'`echo "g++ -c $name.cpp $name.h bonnie.h port.h"done > makeo$ sh makeo$ make