Hi,
For the most part, I've stopped using job files and use a script to
write/execute a fio command line. I do end up with hideously-long command lines
(>1100 chars), but can stash all the parameters in the script or included file
and easily iterate over certain ones.
I start with things like this:
set FioCmd { \
/var/tmp/fio --create_serialize=0 --time_based --norandommap
--ioengine=solarisaio --minimal \
--randrepeat=0 --fill_device=1 --iodepth=32 --group_reporting --ramp_time=0
--unlink=0 --overwrite=1 \
--size=${SIZE} --rw=${DIR} --bs=${BS} --ba=${BS} --runtime=${RUNTIME} }
and
set FioJobs { \
--name=file__0 --filename=/${MNT}/${PN}/${HN}/fiofile.0 --name=file__1
--filename=/${MNT}/${PN}/${HN}/fiofile.1 \
--name=file__2 --filename=/${MNT}/${PN}/${HN}/fiofile.2 --name=file__3
--filename=/${MNT}/${PN}/${HN}/fiofile.3 \
--name=file__4 --filename=/${MNT}/${PN}/${HN}/fiofile.4 --name=file__5
--filename=/${MNT}/${PN}/${HN}/fiofile.5 \
--name=file__6 --filename=/${MNT}/${PN}/${HN}/fiofile.6 --name=file__7
--filename=/${MNT}/${PN}/${HN}/fiofile.7 \
--name=file__8 --filename=/${MNT}/${PN}/${HN}/fiofile.8 --name=file__9
--filename=/${MNT}/${PN}/${HN}/fiofile.9 \
--name=file__10 --filename=/${MNT}/${PN}/${HN}/fiofile.10 --name=file__11
--filename=/${MNT}/${PN}/${HN}/fiofile.11 }
do variable substitution, bolt on a "--output", and exec the entire string:
set cmdstring [ concat \
exec -- ssh "${uname}@${thisclient}" [subst ${FioCmd}] \
[subst $OPTS] \
--output ${outDataDir}/${filetag}-${thisclient}.fio \
[subst $FioJobs] & ]
}
There's a bit more magic involved to run multiple instances at once.
(This, of course, didn't actually answer the OP's question.)
z!
N�����r��y����b�X��ǧv�^�){.n�+���������ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf