Поэтому я использую один из этих экземпляров, чтобы проверить его на себе. Мои шаги были лишь немного другими:
- Сначала разбейте диск с помощью
расстались
- Сделать файловую систему
- Гора в
/опт
как /дом
уже был там и имел домашний каталог моего пользователя в (убунту
).
подходящее обновление && подходящее обновление
, затем установите фио
- Запустите ту же команду, что и вы:
fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
изнутри /опт
, с судо
.
Я получил аналогичные результаты, с чтение: IOPS=7147
.
Затем я провел еще один тест:
/opt$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75
fiotest: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
фио-3.16
Запуск 1 процесса
fiotest: Выкладывание файла IO (1 файл / 8192МиБ)
Задания: 1 (f=1): [m(1)][100,0%][r=332МиБ/с,w=109МиБ/с][r=85,1k,w=28,0k IOPS][эта 00м:00с]
fiotest: (groupid = 0, jobs = 1): err = 0: pid = 26470: понедельник, 31 января, 09:14:45 2022
чтение: IOPS = 91,5 тыс., BW = 357 МБ/с (375 МБ/с) (6141 МБ/17187 мс)
bw (КиБ/с): мин.=339568, макс.=509896, пер.=100,00%, среднее=366195,29, стандартное отклонение=59791,96, выборки=34
IOPS: мин.=84892, макс.=127474, среднее=91548,82, стандартное отклонение=14947,99, выборки=34
запись: IOPS=30,5k, BW=119МБ/с (125МБ/с)(2051МБ/17187мс); 0 сброс зоны
bw (КиБ/с): мин.=111264, макс.=170424, пер.=100,00%, среднее=122280,71, стандартное отклонение=20225,33, выборки=34
IOPS: минимум = 27816, максимум = 42606, средний = 30570,18, стандартное отклонение = 5056,32, образцы = 34
процессор: usr=19,73%, sys=41,60%, ctx=742611, majf=0, minf=8
Глубина ввода-вывода: 1=0,1%, 2=0,1%, 4=0,1%, 8=0,1%, 16=0,1%, 32=0,1%, >=64=100,0%
отправить: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,0%, >=64=0,0%
завершено: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,1%, >=64=0,0%
выдано rwts: всего=1572145,525007,0,0 шорт=0,0,0,0 выпало=0,0,0,0
задержка: цель = 0, окно = 0, процентиль = 100,00%, глубина = 64
Выполнить группу состояния 0 (все задания):
ЧТЕНИЕ: bw=357МБ/с (375МБ/с), 357МБ/с-357МБ/с (375МБ/с-375МБ/с), io=6141МБ (6440МБ), run=17187-17187мс
ЗАПИСЬ: bw=119МБ/с (125МБ/с), 119МБ/с-119МБ/с (125МБ/с-125МБ/с), io=2051МБ (2150МБ), run=17187-17187мс
Статистика диска (чтение/запись):
nvme1n1: ios=1563986/522310, слияние=0/0, тики=927244/24031, in_queue=951275, использование=99,46%
...что выглядит намного лучше - чтение: IOPS = 91,5 тыс.
.
Я подозреваю, что это связано с тем, как работает тест только для чтения? Или какой-то нюанс чтения с диска, на котором вы находитесь, и какое-то другое ограничение?
Я провел тест еще пару раз и каждый раз получал одинаковые результаты.
Затем я запустил еще один тест только для чтения, используя команду из здесь, и получил это:
/opt$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=прочитать
fiotest: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
фио-3.16
Запуск 1 процесса
Задания: 1 (f=1): [r(1)][100,0%][r=332МиБ/с][r=85,1k IOPS][эта 00 м:00 с]
fiotest: (groupid = 0, jobs = 1): err = 0: pid = 26503: понедельник, 31 января, 09:17:57 2022
чтение: IOPS = 88,6 тыс., BW = 346 МБ/с (363 МБ/с) (8192 МБ/23663 мс)
bw (КиБ/с): мин.=339560, макс.=787720, пер.=100,00%, среднее=354565,45, стандартное отклонение=72963,81, выборки=47
IOPS: минимум = 84890, максимум = 196930, средний = 88641,40, стандартное отклонение = 18240,94, образцы = 47
процессор: usr=15,37%, sys=31,05%, ctx=844523, majf=0, minf=72
Глубина ввода-вывода: 1=0,1%, 2=0,1%, 4=0,1%, 8=0,1%, 16=0,1%, 32=0,1%, >=64=100,0%
отправить: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,0%, >=64=0,0%
завершено: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,1%, >=64=0,0%
выпущено rwts: всего = 2097152,0,0,0 коротко = 0,0,0,0 удалено = 0,0,0,0
задержка: цель = 0, окно = 0, процентиль = 100,00%, глубина = 64
Выполнить группу состояния 0 (все задания):
ЧТЕНИЕ: bw=346МБ/с (363МБ/с), 346МБ/с-346МБ/с (363МБ/с-363МБ/с), io=8192МБ (8590МБ), run=23663-23663мс
Статистика диска (чтение/запись):
nvme1n1: ios=2095751/1, слияние=0/0, тики=1468160/0, in_queue=1468159, использование=99,64%
Так намного лучше производительность чтения. Я подозреваю, что аргументы, которые вы дали своей команде, не позволяют тесту получить максимальную производительность от диска, возможно, из-за размера блока, размера файла и т. д. Я заметил, что все они были аргументами с одним пунктиром (например, -бс=4к
) не двойной (--bs=4k
), поэтому они могут даже не анализироваться правильно...