Benutzer-Werkzeuge

Webseiten-Werkzeuge


fio

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

fio [2021-04-14 09:39:24] – angelegt manfredfio [2021-04-14 10:32:20] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== fio ======
 +
 +Mit **''[[https://fio.readthedocs.io/en/latest/fio_doc.html#interpreting-the-output|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:
 +<file bash /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
 +</file>
 +
 +
 +===== fio-3.0 =====
 +
 +In dieser Version wurde die Unterstützung für Ceph-RBD mit eingebaut.
 +