Оптимізація за допомогою віртуалізації. Організуємо кілька робочих місць з одного десктопа. Частина 3 :: Журнал СА 7-8.2017

АНДРІЙ СЕМЕНОВ, Східне управління ДВБФ ФГУП «Росморпорт», головний спеціаліст ВІТ,   avsemenov@gmail АНДРІЙ СЕМЕНОВ, Східне управління ДВБФ ФГУП «Росморпорт», головний спеціаліст ВІТ, [email protected]

Оптимізація за допомогою віртуалізації
Організуємо кілька робочих місць з одного десктопа. частина 3

У попередніх номерах «СА» я розповідав про встановлення та налаштування гіпервізора Xen і KVM для поділу ресурсів робочої станції на два робочих місця. У цій частині - порівняння продуктивності підсистем віртуальних робочих місць на Xen і KVM між собою і з конфігураціями робочих місць, які не використовують віртуалізацію

Мета - в загальних рисах визначити за допомогою синтетичних тестів втрати в продуктивності різних підсистем віртуальних робочих місць в порівнянні з «залізними» і виявити слабкі і сильні сторони використовуваних рішень для віртуалізації робочих місць.

Порівняння продуктивності здійснено на одній і тій же апаратній конфігурації і близьких до неї конфігураціях віртуальних машин (див. Таблиці 1 і 2).

Таблиця 1. Опис використовуваної для тестування продуктивності програмної і апаратної конфігурації

Апаратні компоненти Модель Примітка Материнська плата Gigabyte GA-Q87M-D2H, LGA1150 Є офіційна підтримка VT-d на рівні чіпсета і реалізована в прошивці виробником Центральний процесор Intel Core i5-4570 CPU з підтримкою VT-d Відеокарта AMD HD6450 (UEFI BIOS) Раніше тестувалися відеокарти на чіпсетах NVidia 9600, AMD HD6850, Nvidia GT610 (UEFI) Оперативна пам'ять 2 * 8GB DDR3 при тестуванні ОС, встановлених безпосередньо на «залізо» використовувалася конфігурація з 8 GB ОЗУ, при використанні гіпервізора - 16 GB ОЗУ, 8 ізкоторих виділялося для віртуальної машини Жорсткі диски Western Digit al Blue 1Tb
Seagate Barrakuda 1Tb PCI-e USB 3 контролери USB 3.0 Orient VA-3U4PE (чіпсет Via VL800) USB 3.1 Espdata FG-EUSB312A-BU01 (чіпсет Asmedia ASM1142) Контролери, що забезпечують додаткові USB-порти для «проброса» у віртуальні машини USB3-to -SataIII контролер Orient 2568U3 (чіпсет Asmedia ASM1153E) чіпсет пристрою підтримує бридж USB3-to-SATAIII SSD Adata Premiere Pro SP920 256gb SSD для тестування «проброшенних» у віртуальні машини USB-контролерів

Таблиця 2. Програмна конфігурація (версії гіпервізора хостових і гостьових ОС)

Xen KVM / QEMU • Xen 4.8.0
• ОС Ubuntu 16.04 (ядро 4.11.1)
• Windows 7 x64 і Windows 10 x64 в якості гостьових ОС • Proxmox 4.4
• ОС Debian 8.8.0 (ядро 4.11.1)
• Windows 7 x64 і Windows 10 x64 в якості гостьових ОС

Програмна конфігурація (версії гіпервізора хостових і гостьових ОС)

Для тестування продуктивності використано такі програми та

  • Futuremark 3DMark Vantage (інтегральна продуктивність, продуктивність CPU, продуктивність відеопідсистеми)
  • Cinebench R15 (продуктивність CPU, продуктивність відеопідсистеми)
  • Futuremark PCMark 7 (загальна продуктивність)
  • CrystalDiskMark 5.2.1 (продуктивність дискової підсистеми)

Методика тестування

Тестувалася продуктивність центрального процесора, продуктивність дискової підсистеми і основних «прокидаємо» пристроїв: відеоадаптера і USB-контролерів в різних віртуальних середовищах.

Кожен тест проводився три рази, як результат записувалося середнє арифметичне значення проведених тестів. Для визначення похибки вимірювань використовувався метод Корнфельда, що визначає похибка, какзначеніе половини різниці між максимальним і мінімальним результатами вимірювань. Для наочності використана величина відносної похибки (відношення похибки вимірювання до величини середнього результату вимірювань) в процентах.

З цією ж метою при порівнянні продуктивності ОС віртуальних машин з «залізними», обчислювався відносний результат порівняння у відсотках, а в якості похибки використовувалася тільки похибка вимірювань віртуальної машини, а похибки результатів вимірювань ОС на «залізі» не враховувалися (для спрощення обчислень).

Вимірювання продуктивності одних і тих же підсистем, зроблені різними ПО, усереднювалися. Також усереднювалися похибки результатів вимірювань (що також спрощено, але не внесло значних спотворень в результати).

В якості ОС для тестування використовувалися 64-бітові версії Windows 7 Professional і Windows 10 Professional.

Виходячи з вибору операційних систем і підтримуваного апаратного забезпечення гіпервізорами вийшла наступні комбінації для тестування:

ОС, встановлені безпосередньо на «залізо»:

  • тести відеопідсистеми
  • Тести продуктивності процесора
  • Тести дискової підсистеми
  • Тести продуктивності USB-контролерів
  • Тести виконані для Windows 7 x64 і Windows 10 x64

ОС, встановлені в оточенні Xen:

  • Тести відеопідсистеми (в режимі «проброса» PCI-пристрої)
  • Тести продуктивності процесора
  • Тести дискової підсистеми (формати HDD: файловий Raw, файловий qcow2, LVM raw)
  • Тести продуктивності USB-контролерів (в режимі «проброса» PCI-пристрої)
  • Тести виконані для Windows 7 x64 і Windows 10 x64

ОС, встановлені в оточенні Proxmox VE (QEMU / KVM):

  • Тести відеопідсистеми (в режимі «проброса» PCI-пристрої);
  • Тести продуктивності процесора;
  • Тести дискової підсистеми (формати HDD: SCSI файловий Raw, SCSI файловий qcow2, SCSI LVM raw, Virtio файловий Raw, Virtio файловий qcow2, Virtio LVM raw)
  • Тести продуктивності USB-контролерів (в режимі «проброса» PCI-пристрої)
  • Тести виконані для Windows 7 x64 і Windows 10 x64.

Проект Xen і проект KVM використовують для емуляції апаратної платформи віртуальних машин код з проекту QEMU.

Проект Xen при цьому дотримується більш консервативного підходу і використовує тільки стабільний перевірений код, KVM дотримується більш прогресивного підходу і використовує поряд з перевіреними, також і сучасні напрацювання QEMU.

З цієї причини (цілком можливо, я помиляюся і команда Xen просто не встигає йти в ногу з часом) в якості апаратної платформи для віртуальних машин в Xen використовується емуляція чіпсета Intel i440FX (чіпсет безподдержкі шини PCIe і USB3), а в проекті KVM - Intel i440FX і Intel Q35 [3] (більш сучасний чіпсет з підтримкою шини PCIe і USB3).

Вироблені тести не претендують високу точність, але можуть дати загальне уявлення про втрати на віртуалізацію процесорного часу і віртуалізацію введення / виведення (графічні тести, тести дискової системи і швидкості «проброшенних» USB-контролерів) при використанні різних технологій віртуалізації і різних емульованого чіпсетів (i440fx і q35).

Статтю повністю читайте в журналі «Системний адміністратор», №7-8 за 2017 року на сторінках 24-31.

PDF-версію даного номера можна придбати в нашому магазині .

  1. Семенов А. Оптимізація за допомогою віртуалізації. Організуємо кілька робочих місць з одного десктопа. // «Системний адміністратор», № 3 2017 г. - с. 22-28 ( http://samag.ru/archive/article/3385 ).
  2. Семенов А. Оптимізація за допомогою віртуалізації. Організуємо кілька робочих місць з одного десктопа. Частина 2. // «Системний адміністратор», № 4 2017 г. - с. 24-29 ( http://samag.ru/archive/article/3404 ).
  3. QEMU Q35 chipset - http://wiki.qemu.org/Features/Q35 .
  4. Файл з детальними результатами тестів - http://charoday.ru/samag-xen-kvm-tests-results .
  5. Інформація про помилку «проброса» відеокарти PVE - https://forum.proxmox.com/threads/vga-passthrough-error-device-does-not-support-requested-feature-x-vga.35727 .
  6. Xen Windows PV Drivers - https://www.xenproject.org/developers/teams/windows-pv-drivers.html .

Дополнительная информация

rss
Карта