meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:benchmark:tests:storage:fio [2022/09/26 16:30] mchuswiki:benchmark:tests:storage:fio [2025/06/02 07:44] (current) – old revision restored (2022/11/22 11:34) mchus
Line 1: Line 1:
 ====== FIO (Flexible IO Tester) ====== ====== FIO (Flexible IO Tester) ======
-===== Тестирование всех шаблонов и нагрузок ===== +===== Синтетическое тестирование (v.1.0)=====
 == Начальные условия == == Начальные условия ==
 == Мероприятия по подготовке == == Мероприятия по подготовке ==
Line 125: Line 124:
 <WRAP center round tip 60%> <WRAP center round tip 60%>
  
-Сводные результаты тестов представлены на данной странице: [[wiki:benchmark:results:fio|Результаты тестов fio]]+Сводные результаты тестов представлены на данной странице: [[wiki:benchmark:results:fio:v1.0|Результаты тестов fio]]
  
 </WRAP> </WRAP>
  
 +===== Синтетическое тестирование (v.1.1) =====
 +
 +== Начальные условия ==
 +== Мероприятия по подготовке ==
 +  - Создать виртуальную машину следующей конфигурации: 
 +    - 8 vCPU
 +    - 2 GB mem
 +    - Linux Debian
 +    - 256 GB Disk
 +  - Установить ''fio'';
 +  - Установить ''nmon'';
 +  - Создать файлы файлы по шаблону ниже. Или скопировать из предоставленного {{ :wiki:benchmark:tests:storage:disk.iso |  *.iso образа }} файлы внутрь виртуальной машины;
 +    - Командой ''lsblk'' найти тестируемое устройство;
 +    - Указать в файле bench.ini тестируемое устройство, в примере - "/dev/sdb";
 +
 +<code bash bench.sh>
 +#!/bin/sh
 +BASEDIR=/home/admin  #<---- Укажите рабочую директорию, где будут храниться отчёты
 +INIDIR=$BASEDIR/ini
 +LOGDIR=$BASEDIR/log
 +DEV=/dev/sdb         #<---- Укажите девайс который будем тестировать
 +IODEPTH=16
 +RUNTIME=300
 +TPAUSE=30
 +STOR="sdb"           #<---- Укажите девайс который будем тестировать
 +echo "stor $STOR" > $INIDIR/nmon.gr
 +
 +# ---------------------
 +/usr/bin/nmon -f -t -s 5 -c 5000 -g $INIDIR/nmon.gr -m $LOGDIR/fio
 +fiocfg="--filename=/dev/sdb --iodepth=$IODEPTH --runtime=$RUNTIME "
 +for fiorun in \
 +" --blocksize=4k --output=$LOGDIR/rand_write_4.out $INIDIR/rand_write.ini" \
 +" --blocksize=8k --output=$LOGDIR/rand_write_8.out $INIDIR/rand_write.ini" \
 +" --blocksize=16k --output=$LOGDIR/rand_write_16.out $INIDIR/rand_write.ini" \
 +" --blocksize=256k --output=$LOGDIR/rand_write_256.out $INIDIR/rand_write.ini" \
 +" --blocksize=4k --output=$LOGDIR/rand_read_write_4.out $INIDIR/rand_read_write.ini" \
 +" --blocksize=8k --output=$LOGDIR/rand_read_write_8.out $INIDIR/rand_read_write.ini" \
 +" --blocksize=16k --output=$LOGDIR/rand_read_write_16.out $INIDIR/rand_read_write.ini" \
 +" --blocksize=256k --output=$LOGDIR/rand_read_write_256.out $INIDIR/rand_read_write.ini" \
 +" --blocksize=4k --output=$LOGDIR/rand_read_4.out $INIDIR/rand_read.ini" \
 +" --blocksize=8k --output=$LOGDIR/rand_read_8.out $INIDIR/rand_read.ini" \
 +" --blocksize=16k --output=$LOGDIR/rand_read_16.out $INIDIR/rand_read.ini" \
 +" --blocksize=256k --output=$LOGDIR/rand_read_256.out $INIDIR/rand_read.ini" \
 +" --blocksize=4k --output=$LOGDIR/write_4.out $INIDIR/write.ini" \
 +" --blocksize=8k --output=$LOGDIR/write_8.out $INIDIR/write.ini" \
 +" --blocksize=16k --output=$LOGDIR/write_16.out $INIDIR/write.ini" \
 +" --blocksize=256k --output=$LOGDIR/write_256.out $INIDIR/write.ini" \
 +" --blocksize=4k --output=$LOGDIR/read_write_4.out $INIDIR/read_write.ini" \
 +" --blocksize=8k --output=$LOGDIR/read_write_8.out $INIDIR/read_write.ini" \
 +" --blocksize=16k --output=$LOGDIR/read_write_16.out $INIDIR/read_write.ini" \
 +" --blocksize=256k --output=$LOGDIR/read_write_256.out $INIDIR/read_write.ini" \
 +" --blocksize=4k --output=$LOGDIR/read_4.out $INIDIR/read.ini" \
 +" --blocksize=8k --output=$LOGDIR/read_8.out $INIDIR/read.ini" \
 +" --blocksize=16k --output=$LOGDIR/read_16.out $INIDIR/read.ini" \
 +" --blocksize=256k --output=$LOGDIR/read_256.out $INIDIR/read.ini" ;
 +do
 +  echo " ----- $fiocfg $fiorun" >>  $LOGDIR/fio/test.log
 + fio $fiocfg $fiorun >> $LOGDIR/fio/test.log
 + echo " ----- endtest" >>  $LOGDIR/fio/test.log
 + sleep $TPAUSE
 +  done
 +pkill nmon
 +# ---------------------
 +
 +
 +</code>
 +
 +
 +<code ini /ini/write.ini>
 +[writetest]
 +rw=write
 +direct=1
 +buffered=0
 +ioengine=libaio
 +</code>
 +
 +<code ini /ini/read.ini>
 +[readtest]
 +rw=read
 +direct=1
 +buffered=0
 +ioengine=libaio
 +</code>
 +
 +<code ini /ini/read_write.ini>
 +[writetest]
 +rw=rw
 +direct=1
 +buffered=0
 +ioengine=libaio
 +</code>
 +
 +<code ini /ini/rand_write.ini>
 +[writetest]
 +rw=randwrite
 +direct=1
 +buffered=0
 +ioengine=libaio
 +</code>
 +
 +<code ini /ini/rand_read.ini>
 +[readtest]
 +rw=randread
 +direct=1
 +buffered=0
 +ioengine=libaio
 +</code>
 +
 +<code ini /ini/rand_read_write.ini>
 +[writetest]
 +rw=randrw
 +direct=1
 +buffered=0
 +ioengine=libaio
 +</code>
 +
 +== Мероприятия по проверке ==
 +  - Запустить тестирование командой ''bench.sh''
 +
 +== Мероприятия после проверки ==
 +  - Скачать с сервера полученные результаты теста в файле вида "fio-bench_xxxxxx_xxxx.nmon"
 +  - На ПК администратора установить [[http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser|nmon analyzer]]
 +  - Открыть полученный результат с помощью nmon analyzer
 +  - Перейти на вкладку DISK_SUMM
  
 ==== Нагрузочное тестирование СХД ==== ==== Нагрузочное тестирование СХД ====