QEMU emulator version 2.9.0(qemu-kvm-ev-2.9.0-16.el7_4.11.1)
Linux 3.10.0-693.el7.x86_64
Через virtio-scsi подключены два lun (vcpu = 1, очередь контроллера virtio-scsi установлена на 1)
Firt:
Только устройство dd / dev / sde, iops составлял 6 КБ.
Второй:
fio (num_job = 3) + / dev / sdc и все еще dd sde
работал нормально, iops sde все еще 6 КБ.
Final: только
увеличьте num_job fio до 4,
, а затем уменьшите число операций sde до 34 !!!! ????
Я понятия не имел, почему, если кто-нибудь может дать мне несколько советов?
Firt Test:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.00 6638.14 0.00 51.86 16.00 0.92 0.14 0.00 0.14 0.14 92.16
] Второй тест:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdc 0.00 0.00 99.01 76.24 0.77 0.60 15.95 96.04 547.80 969.59 0.01 5.65 99.01
sde 0.00 0.00 0.00 6966.34 0.00 54.42 16.00 0.83 0.12 0.00 0.12 0.12 82.87
Заключительный тест:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdc 0.00 0.00 100.00 107.00 0.78 0.84 16.00 128.97 621.03 1280.22 4.97 4.83 100.00
sde 0.00 0.00 0.00 31.00 0.00 0.24 16.00 0.99 32.03 0.00 32.03 32.03 99.30
dd:
while true;do dd if=/dev/zero of=./test bs=8K count=102400 oflag=direct;done
fio.ini
[global]
bs=8k
ioengine=libaio
#rw=randrw
time_based
runtime=7200
direct=1
group_reporting
iodepth=32
size=1G
[file1]
filename=/dev/sdc
numjobs=3
rw=randrw
dd
с fio
довольно сложно... Я бы рекомендовал не делать этого, если вы не понимаете, как fio
] и dd
отправляют свой ввод-вывод и все сопутствующие предостережения. Например, знаете ли вы, что различные элементы стека хранения (файловые системы, сами устройства) могут оптимизироваться при отправке нулей (например, путем обнаружения или сжатия), поэтому вы получаете другую скорость, чем при использовании ненулевых данных?O_DIRECT
), но это еще одно потенциальное отвлечение. Больше искажений результата./dev/sdc
и /dev/sde
представлены файлами в той же файловой системе, что и друг с другом/разделами одного и того же диска на хосте . Если это так, то они оба конкурируют за операции ввода-вывода, которые должны поступать с одного и того же базового устройства... Существует некоторое максимальное количество операций ввода-вывода, которые можно поддерживать в полете из-за характеристик вашего диска и доступности ЦП (это относится к хосту и гостю). Попытка сделать больше означает, что вы просто создаете конкуренцию за очередь ввода-вывода и/или ЦП. fio
довольно эффективен при отправке ввода-вывода, и ваш файл задания показывает, что ему разрешено «ставить в очередь» больше операций ввода-вывода за один раз, чем может dd
(я упоминал, что это сложно сравнить dd
с fio
?). Вы не показали полный вывод fio
, поэтому мы упустили некоторые полезные дополнительные данные... Сколько ЦП осталось (гость и хост)? Как выглядел iostat на хосте? Если есть разногласия, то я ожидаю, что даже один fio
превзойдет dd
(с настройками, которые вы использовали), не говоря уже о трех...
Примечание: если для некоторых причина, по которой ваша дисковая очередь привязана к определенному ЦП, может оказаться в ситуации, когда вам нужен ЦП на определенном процессоре, и если оба ваших диска зависят от одного и того же...