количество процессов чтения и записи влияет на производительность io различных логических модулей virtio-scsi

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
1
задан 4 September 2020 в 09:10
1 ответ
  • Сравнение dd с fio довольно сложно... Я бы рекомендовал не делать этого, если вы не понимаете, как fio ] и dd отправляют свой ввод-вывод и все сопутствующие предостережения. Например, знаете ли вы, что различные элементы стека хранения (файловые системы, сами устройства) могут оптимизироваться при отправке нулей (например, путем обнаружения или сжатия), поэтому вы получаете другую скорость, чем при использовании ненулевых данных?
  • ]Вы используете небольшой регион. Отправка слишком малого количества данных является еще одной ловушкой бенчмаркинга и означает, что ваши результаты могут быть сильно искажены из-за перезаписи, уничтожающей старые команды в полете, и более ранние команды могут в конечном итоге быть оптимизированы. В данном случае это менее вероятно (из-за использования O_DIRECT), но это еще одно потенциальное отвлечение. Больше искажений результата.
  • Не могу сказать, действительно ли /dev/sdc и /dev/sde представлены файлами в той же файловой системе, что и друг с другом/разделами одного и того же диска на хосте . Если это так, то они оба конкурируют за операции ввода-вывода, которые должны поступать с одного и того же базового устройства...

Существует некоторое максимальное количество операций ввода-вывода, которые можно поддерживать в полете из-за характеристик вашего диска и доступности ЦП (это относится к хосту и гостю). Попытка сделать больше означает, что вы просто создаете конкуренцию за очередь ввода-вывода и/или ЦП. fio довольно эффективен при отправке ввода-вывода, и ваш файл задания показывает, что ему разрешено «ставить в очередь» больше операций ввода-вывода за один раз, чем может dd (я упоминал, что это сложно сравнить dd с fio?). Вы не показали полный вывод fio, поэтому мы упустили некоторые полезные дополнительные данные... Сколько ЦП осталось (гость и хост)? Как выглядел iostat на хосте? Если есть разногласия, то я ожидаю, что даже один fio превзойдет dd (с настройками, которые вы использовали), не говоря уже о трех...

Примечание: если для некоторых причина, по которой ваша дисковая очередь привязана к определенному ЦП, может оказаться в ситуации, когда вам нужен ЦП на определенном процессоре, и если оба ваших диска зависят от одного и того же...

1
ответ дан 13 September 2020 в 15:23

Теги

Похожие вопросы