fio
fio
Mit fio kann man die Leistungsfähigkeit eines Speichervolumens ermitteln.
ein Beispiel:
> fio --name=test01 --filename=fio1x4K --numjobs=1 --bs=4K --directory=/var/lib/mysql --size=4G --ioengine=libaio --direct=1 --rw=randwrite --iodepth=32 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=60 --ramp_time=5 --norandommap --time_based -group_reporting
root@linux:~# /root/bin/fio.sh # 1x 4K / read: BW=90.3MiB/s IOPS=23.1k / write: BW=90.2MiB/s IOPS=23.1k # 4x 4K / read: BW=95.4MiB/s IOPS=24.4k / write: BW=95.4MiB/s IOPS=24.4k # 1x 1M / read: BW=469MiB/s IOPS=468 / write: BW=468MiB/s IOPS=467 # 4x 1M / read: BW=471MiB/s IOPS=469 / write: BW=474MiB/s IOPS=472
fio-2.1.3
hier werden vier unterschiedliche Kommandos abgeschickt:
- /root/bin/fio.sh
#!/bin/bash #==============================================================================# # # /root/bin/fio.sh /var/lib/mysql 4G # #==============================================================================# #RW="read" # Sequential reads. #RW="write" # Sequential writes. #RW="randread" # Random reads. #RW="randwrite" # Random writes. #RW="rw" # Mixed sequential reads and writes. RW="randrw" # Mixed random reads and writes. #==============================================================================# ### Speicherort für den Test if [ -n "${1}" ] ; then VERZEICHNISNAME="${1}" else VERZEICHNISNAME="/tmp" fi #------------------------------------------------------------------------------# ### Speichergröße für den Test if [ -n "${2}" ] ; then GROESSE="${2}" else GROESSE="4G" fi #------------------------------------------------------------------------------# ALLGEMEINE_OPTIONEN="--directory=${VERZEICHNISNAME} --size=${GROESSE} --ioengine=libaio --direct=1 --rw=${RW} --iodepth=32 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=60 --ramp_time=5 --norandommap --time_based -group_reporting" #==============================================================================# for BS in 4K 1M do for JOBS in 1 4 do FIO_LOG="$(fio --name=test01 --filename=fio${JOBS}x${BS} --numjobs=${JOBS} --bs=${BS} ${ALLGEMEINE_OPTIONEN})" echo "${FIO_LOG}" > fio${JOBS}x${BS}.log AUSGABE="$(echo "${FIO_LOG}" | egrep -i 'read|write' | fgrep -i iops | sed 's/[,]/ /g')" echo "# ${JOBS}x ${BS} / read: $(echo "${AUSGABE}" | fgrep -i read | tr -s ' ' '\n' | fgrep -i bw=) $(echo "${AUSGABE}" | fgrep -i read | tr -s ' ' '\n' | fgrep -i ops=) / write: $(echo "${AUSGABE}" | fgrep -i write | tr -s ' ' '\n' | fgrep -i bw=) $(echo "${AUSGABE}" | fgrep -i write | tr -s ' ' '\n' | fgrep -i ops=)" done done
fio-3.0
In dieser Version wurde die Unterstützung für Ceph-RBD mit eingebaut.
/home/http/wiki/data/pages/fio.txt · Zuletzt geändert: von manfred
