У меня есть несколько гостей KVM, работающих на Ubuntu 14.04 с использованием libvirt. Их производительность очень плохая. Прерывистый характер низкой производительности с изменчивостью порядка величины в простых тестах производительности и очевидным влиянием активности на другие виртуальные машины убедительно свидетельствует о том, что проблема заключается в конкуренции за ресурсы в хосте. Мониторинг Sar на гостях выявляет проблему с дисками virtblk, которые вынуждены очень долго ждать обслуживания запросов ввода-вывода. Например,
00:00:01 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
00:05:01 dev253-0 0.10 0.00 1.39 14.34 0.00 682539.72 0.14 0.00
Время ожидания всегда чрезвычайно велико и одинаково для всех гостей.
Типичная конфигурация диска:
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/libvirt/images/Base-dev-0002-clone.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</disk>
На гостях были опробованы несколько вещей, включая настройки кеша и io = native в строке драйвера, клонирование из хранилища необработанных файлов img в логический том, лифт = крайний срок, virtio_blk.use_bio = 1, но без какого-либо значительного влияния.
Я понимаю, что виртуальный диск должен снижать производительность, но это крайне.
Какое типичное время ожидания для гостя KVM?
Принимая во внимание мое утверждение о конфликте ресурсов, какие ресурсы, ограничения и т. Д. Может потребоваться разместить на хосте? Хозяин имеет много ресурсов и не показывает никаких явных признаков проблем.
У меня недавно есть тот же выпуск
# iostat -dx 60
Linux 3.13.0-32-generic (hostname) Wednesday, 04 March, 2015 _x86_64_ (6 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 2.46 51.49 4.12 1742.66 325.36 74.38 0.05 770.46 487.83 4300.67 0.15 0.81
scd0 0.00 0.00 0.08 0.00 0.31 0.00 8.00 0.00 0.73 0.73 0.00 0.73 0.01
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.03 0.02 0.20 0.13 0.93 9.85 0.00 35787.38 4.00 38769.33 0.31 0.01
scd0 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
, Обновляющий ядро и устанавливающий заголовки Linux, и linux-headers-generic на гостях KVM устраняют мою проблему ввода-вывода. Перезагрузка после установки.
# aptitude install linux-headers-3.13.0-46 linux-headers-3.13.0-46-generic linux-image-3.13.0-46-generic
После установки:
# iostat -dx 60
Linux 3.13.0-46-generic (hostname) Wednesday, 04 March, 2015 _x86_64_ (6 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.36 19.36 0.42 227.23 4.51 23.44 0.01 0.50 0.45 2.92 0.14 0.28
scd0 0.00 0.00 0.04 0.00 0.18 0.00 8.00 0.00 0.36 0.36 0.00 0.36 0.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 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
scd0 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
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 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
scd0 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
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 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
scd0 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
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 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
scd0 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
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 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
scd0 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