Як прискорити роботу віртуальних машин VMWare, Oracle VirtualBox та Microsoft Hyper-V. VMware Workstation – для серйозних завдань Порівняння oracle vm virtualbox з іншими

💖 Подобається?Поділися з друзями посиланням

Віртуальні сервери однією фізичному сервері.

Створення віртуальної машини.

За незначними відмінностями в обох програмах проходимо наступні етапи:

1. Вводимо ім'я машини та вибираємо тип системи;

2. Задаємо розмір оперативної пам'яті;

3. Створюємо віртуальний жорсткий диск(Вибирав динамічний, розмір за замовчуванням);

4. Задаємо параметри мережі;

5. Задаємо параметри приводу – вибираємо шлях до образу.

Що впадає у вічі з відмінностейVMwarePlayerперед VM VirtualBox:

  • Автоматичне визначення ОС, введення серійного номерапропонується відразу, встановлення «без питань»;
  • Відсутність знімків станів;
  • Є вбудований dhcp.

Тестування.

Проводилось програмою CrystalMark.

Таблиця тестування встановлених ОС із однаковими параметрами віртуальних машин:

VMware Player

Windows XP

VirtualBox

Windows XP

VMware Player

Windows 7

VirtualBox

Windows 7

Загальний підсумок CrystalMark

53294

50799

31099

39036

4519.29 MB/s (4519)

1638.12 MB/s (1638)

1776.50 MB/s (1776)

1174.91 MB/s (1174)

445.51 MB/s (445)

1385.51 MB/s (1385)

1368.08 MB/s (1368)

1376.42 MB/s (1376)

415.13 MB/s (415)

1190.80 MB/s (1190)

1169.60 MB/s (1169)

890.29 MB/s (890)

4183.09 MB/s (418)

11264.93 MB/s (1126)

12571.63 MB/s (1257)

11550.70 MB/s (1155)

109.85 MB/s (4197)

202.79 MB/s (6027)

43.14 MB/s (1725)

149.61 MB/s (4992)

122.49 MB/s (4449)

88.90 MB/s (3556)

42.79 MB/s (1711)

62.26 MB/s (2490)

96.68 MB/s (3867)

189.84 MB/s (5796)

18.47 MB/s (738)

98.82 MB/s (3952)

125.96 MB/s (4519)

79.42 MB/s (3176)

34.47 MB/s (1378)

60.02 MB/s (2400)

49.17 MB/s (1966)

69.49 MB/s (2779)

30.12 MB/s (1204)

48.38 MB/s (1935)

36.84 MB/s (1473)

14.07 MB/s (562)

28.09 MB/s (1123)

177.89 FPS (177)

221.31 FPS (221)

146.37 FPS (146)

185.96 FPS (185)

144.05 FPS (720)

115.66 FPS (578)

125.07 FPS (625)

25.55 FPS (1277)

27.79 FPS (1389)

23.73 FPS (1186)

18.14 FPS (1814)

14.58 FPS (1458)

10.94 FPS (1094)

13.61 FPS (1361)

Polygons (x1000)

Що цікаво - VMware Player виграв за підведеними підсумками на ОС Windows XP , а на Windows 7 значно програв.


Висновки:

За результатами можу сказати тільки, що вибір потрібно робити, виходячи з конкретної ситуації та орієнтуючись на тести.

  • різні тести процесора різних ОС дали різні результати, в одних випадках вигравав VMware Player, в інших VM VirtualBox;
  • помітна перевага VMware Player читання інформації з ОЗП;
  • помітна перевага VM VirtualBox запису інформації з ОЗП та одночасних операціях читання-запису ОЗП;
  • помітна перевага VMware Player під час запису інформації на HDD;
  • помітна перевага VM VirtualBox під час читання інформації з HDD;
  • у графічних тестах 2D скрізь перевага VM VirtualBox, OpenGL - VMware Player.

Сьогодні віртуалізація широко використовується практично у будь-якій частині ІТ-індустрії - від особистих мобільних пристроївдо потужних обчислювальних центрів, дозволяючи вирішувати найрізноманітніші завдання. Віртуалізація може виступати у різних формах - починаючи від віртуалізації та емуляції платформ, закінчуючи віртуалізацією ресурсів. Але сьогодні йтиметься про нативну апаратну віртуалізацію - сучасні процесори підтримують її за допомогою наборів інструкцій, таких як Intel VT-x або AMD-V.

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

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

Як уже говорилося вище, один із ключових факторів для нормальної роботи нативної апаратної віртуалізації – підтримка процесором специфічних наборів інструкцій. Intel представила свій набір інструкцій VT-x у 2005 році, ще в рамках архітектури Netburst, що застосовувалась у процесорах Pentium 4. AMD розробила свій набір інструкцій, AMD-V, і перші процесори з його підтримкою вийшли на ринок у 2006 році. Через деякий час обидві компанії запропонували нові набори інструкцій: Intel EPT (Extended Page Tables) та AMD RVI (Rapid Virtualization Indexing) відповідно. Суть обох наборів у тому, що гостьова ОС отримує контроль над віртуалізованими сторінками пам'яті безпосередньо, минаючи гіпервізор – це знижує навантаження на нього та дещо піднімає швидкість віртуальної системи. Для прокидання безпосередньо пристроїв у гостьову ОС компанія Intel розробила набір інструкцій Intel VT-d. В арсеналі Intel є інші набори інструкцій для віртуалізації: Intel VT FlexMigration, Intel VT FlexPriority, VPID, VT Real Mode, VMFUNC.

У нових поколіннях процесорів виробники пропонують нові можливості наборів інструкцій віртуалізації, а й скорочують таймінги виконання конкретних інструкцій, що дозволяє підвищити продуктивність віртуальної системи загалом. Наприклад, у процесорах Pentium 4 затримка виконання інструкцій VMCALL і VMRESUME наближалася до 1500 наносекундам, а Core 2 Duo (Penryn) вона становила вже менше 500 наносекунд.

Скорочення розриву у продуктивності між реальною та віртуальною системою зробило віртуальні машини (ВМ) набагато вигіднішими у використанні, у тому числі для вирішення завдань корпоративного рівня. Найбільш очевидними перевагами є підвищення середнього завантаження обладнання (кілька ВМ рівномірно використовують ресурси апаратної платформи, скорочуючи час простою), а також запуск застарілої ОС, яка не задовольняє сучасним вимогам (наприклад, безпеки), але при цьому необхідна для запуску та роботи унікального ПЗ (чи з інших причин). До речі, настільки популярні на сьогодні хмарні сервіситакож мають у своїй основі технології віртуалізації. Підсумовуємо основні переваги, які підприємство одержує від застосування віртуалізації. Це:

  • збільшення середнього завантаження фізичного сервера, отже, і коефіцієнта використання апаратури, що, своєю чергою знижує загальну вартість АТ;
  • простота міграції віртуальних серверів з одного фізичного на інший при апгрейді апаратного забезпечення;
  • простота відновлення працездатності віртуального серверапри апаратному збої обладнання: віртуальну машину значно простіше перенести на інший фізичний сервер, ніж переносити конфігурацію та ПЗ з однієї фізичної машини на іншу;
  • суттєве спрощення перекладу користувачів або бізнес-процесів на нові ОС та нове ПЗ: використання ВМ дозволяє робити це частинами і не чіпаючи апаратні ресурси; крім того, у процесі можна легко аналізувати та виправляти помилки, а також оцінювати доцільність впровадження «на льоту»;
  • підтримка в бізнес-процесах роботи застарілої ОС, від якої з будь-яких причин даний моментчасу неможливо відмовитись;
  • можливість тестування тих чи інших додатків на ВМ, не вимагаючи додаткового фізичного сервера і т.д.
  • інші сфери застосування.

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

Тим не менш, завжди корисно розуміти, про який саме рівень втрат продуктивності між реальною та віртуальною системою йдеться. Тим більше, що вони часто сильно залежать від типу завдань та вимог ПЗ до апаратних ресурсів. Десь це важливо з погляду обліку ресурсів, десь допоможе визначити, який рівень продуктивності реальної системи необхідний, щоб домогтися потрібного рівня продуктивності від віртуальної системи. Нарешті, є прикордонні типи завдань, які можуть вирішуватись за допомогою як віртуальних, так і реальних систем – і там питання втрат може виявитися вирішальним фактором.

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

Для тестування використовувався набір тестових додатків із звичайної методики дослідження продуктивності платформ сайту від 2011 року, з деякими застереженнями. По-перше, з набору були прибрані всі ігри, тому що віртуальний графічний адаптер з драйвером Oracle має занадто слабку продуктивність: у більшості випадків гри навіть не запускалися. По-друге, прибрано додатки, які стабільно не могли завершити тестовий сценарій на одній із конфігурацій - це Maya, Paintshop Pro, CorelDraw. Тому не можна порівнювати підсумкові рейтинги і сумарний бал продуктивності нашого тестового стенду з базою протестованих процесорів. Проте порівняння результатів окремих тестівцілком коректно.

Також слід враховувати, що у методиці використовуються версії додатків від 2011 року. Вони можуть не підтримувати нові технології, оптимізації та набори інструкцій, які були впроваджені після цього часу. При цьому наявність такої підтримки в нових версіях додатків може істотно впливати на продуктивність цих додатків - і в реальній, і в віртуальній системі.

Тестовий стенд

Для тестування ми взяли систему з конфігурацією, що підходить як сервера, і високопродуктивної робочої станції. У майбутніх матеріалах ми перевіримо на ній можливості віртуалізації із різними хост-системами. Сьогодні як хост використовується Windows 7.

  • Процесор: Intel Xeon E3-1245 v3
  • Материнська плата: SuperMicro X10SAE
  • Оперативна пам'ять: 4× Kingston DDR3 ECC PC3-12800 CL11 8 ГБ (KVR16LE11/8)
  • Жорсткий диск: Seagate Constellation ES.3 1 ТБ (ST1000NM0033)
  • Операційна система: Windows 7 x64

ПЗ для віртуалізації

У цьому матеріалі тестування проводиться за допомогою Oracle VM VirtualBox.

Oracle VM VirtualBox – це безкоштовна віртуальна машина (ВМ), що розповсюджується за ліцензією GNU GPL 2. Вона підтримує великий список операційних систем: Windows, OS X, Solaris та велика кількість Linux-дистрибутивів (Ubuntu, Debian, openSUSE, SUSE Linux Enterprise Server, Fedora, Mandriva, Oracle Linux, Red Hat Enterprise Linux, CentOS). Спочатку ВМ розроблялася Innotek, яка згодом була куплена Sun Microsystems, а 2010 року - Oracle. ВМ підтримує прокидання USB-пристроїв у гостьову ОС, забезпечує доступ в інтернет та підключення віддаленого робочого столу. Гостьові ОС можуть бути як 32-бітними, так і 64-бітовими. Система підтримує апаратне прискорення 2D та 3D, а також PAE/NX, VT-x, AMD-V, Nested Paging. Емулює широкий спектр поширених пристроїв: чіпсет PIIX3 або ICH9, контролери IDE PIIX3, PIIX4, ICH6, аудіокарт Sound Blaster 16, AC97 або Intel HD, а також мережевих карт PCnet PCI II (Am 79 C 970 A), PCnet Fast III (Am 79 C 973), Intel PRO / 1000 MT Desktop (82540 EM), Intel PRO / 1000 T Server (82543 GC), Intel PRO / 1000 MT Server (82 545 EM). Підтримує образи жорстких дисків VDI, VMDK, VHD, дозволяє створювати спільні папкидля гостьової та хост-ОС, а також зберігати стани ВМ.

У Oracle існує серйозніший аналог VM VirtualBox, Oracle VM Server для процесорів х86 і SPARC, що базується на гіпервізорі Xen. Т.е., це зовсім інший продукт для іншого сегменту ринку. Oracle VM Server підтримує до 160 потоків на фізичному сервері та до 128 віртуальних CPU у гостьових ОС, а максимальний обсяг ОЗУ – 4 ТБ, тоді як VM VirtualBox підтримує лише 32 віртуальних CPU для гостьової ОС та 1 ТБ ОЗУ.

Підсумовуючи, можна охарактеризувати VM VirtualBox як ВМ для домашнього використання і для використання в маленьких фірмах, а простота налаштування (по суті встановив і все працює) не вимагає високої кваліфікації системного адміністратора(або взагалі не вимагає виділеного системного адміністратора через простоту використання). Продукт же Oracle VM Server призначений для більшого бізнесу - він надає і більшу функціональність, і підтримку потужніших серверів, але вимагає вищої кваліфікації від системного адміністратора.

Налаштування ПЗ

Для цього тестування на тестовий стенд з ОС Windows 7 x64 було встановлено ВМ Oracle VM VirtualBox, на яку було розгорнуто образ Windows 7 x64 із тестовим пакетом додатків. У наступних матеріалах ми спробуємо, як працюють інші хост-ОС та ПЗ для віртуалізації.

Сама віртуальна машина налаштована наступним чином: включена підтримка Nested Paging, VT-x, PAE/NX, 3D- та 2D-прискорення. Для потреб ВМ виділено 24 Гб ОЗУ та 256 Мб під відеопам'ять.

Порівняння з Intel Core 7-4770k

Для порівняльної оцінки загальної продуктивності тестової платформи на базі Intel Xeon E3-1245 v3 у таблицях також є результати процесора Intel Core i7-4770K з . Це дозволяє приблизно співвіднести рівень продуктивності одного з топових споживчих процесорів для ПК та серверного процесора Xeon, плюс дає багато інших цікавих можливостейпорівняння з різниці у конфігураціях. Правда, тут потрібно враховувати, що параметри двох систем трохи відрізняються, і це впливає на результати. Зведемо таблицю характеристики стендів.

Intel Xeon E3-1245 v3Intel Core i7-4770K
Кількість ядер/потоків, шт.4/8 4/8
Базова/Boost частота, МГц3,4/3,8 3,5/3,9
Об'єм кешу L3, МБ8 8
Оперативна пам'ять, що використовується в тестовому стенді.4 × Kingston KVR16LE11/84 × Corsair Dominator Platinum CMD16GX3M4A2666C10
Кількість каналів, прим.2 2
Частота функціонування, МГц1600 1333
Таймінги11-11-11-28 9-9-9-24
ECCтакні
Об'єм модуля, ГБ8 4
Сумарний об'єм, ГБ32 16
Графічна карткаIntel P4600Palit GeForce GTX 570 1280 МБ

Core i7-4770k має робочі частоти на 100 МГц вище, що може дати йому певну перевагу. З оперативною пам'яттюситуація складна: з одного боку, у Core i7-4770k вдвічі менший обсяг і нижче частота роботи, 1333 МГц проти 1600; з іншого, у платформи Xeon пам'ять має вищі таймінги, і навіть використовується корекція помилок ECC.

Нарешті, у системі Core i7-4770k встановлено зовнішню відеокарту Palit GeForce GTX 570 1280 МБ. У тестовій методиці зразка 2011 лише кілька додатків можуть задіяти ресурси графічної карти, і в цих додатках слід очікувати істотної переваги системи з Core i7-4770k. До того ж, зовнішня картане конкурує з процесором за доступ до ОЗУ, як це робить інтегрована Intel P4600, що також має давати Core i7-4770k певну перевагу. З іншого боку, в драйверах Р4600 повинні бути певні оптимізації, що дозволяють підняти продуктивність професійних додатків. Однак для них, напевно, потрібна й оптимізація самого ПЗ, тому в нашому тестуванні (нагадаю, у нас використовуються версії додатків 2011 року) ці оптимізації, швидше за все, не запрацюють. А в житті доведеться перевіряти кожен випадок окремо, бо оптимізація ПЗ – це дуже тонкий процес.

Зміни, що беруть участь у тестуванні

На реальній системі тестовий пакет запускався у двох конфігураціях: з відключеною та включеною технологією Intel Hyperthreading (далі НТ). Це дозволяє оцінити її вплив на продуктивність і реальних, і віртуальних систем - а заразом і зрозуміти, де можна використовувати молодшу модель Intel Xeon цього покоління, у якого немає НТ. Віртуальна машина запускалася у двох конфігураціях: під 4 обчислювальні ядра і під 8. У результаті ми отримуємо наступні конфігурації:

  1. Реальна система без HT (позначається hw wo/HT)
  2. Реальна система з HT (позначається hw w/HT)
  3. Віртуальна машина з 4 ядрами на 4-ядерному процесорі без НТ (позначається vm 4 core wo/HT)
  4. Віртуальна машина з 4 ядрами на 4-ядерному процесорі з НТ (позначається vm 4 core w/HT)
  5. Віртуальна машина з 8 ядрами на 4-ядерному процесорі з НТ (позначається VM 8 core)

Для зручності зведемо все до таблиці.

Розрахунок витрат віртуалізації

Важливо звернути увагу, що витрати віртуалізації вимірюються не щодо загального рівня, а порівняння подібних апаратних та віртуальних змін.

Розмір витрат віртуалізації для 8-ядерної ВМ вважатиметься щодо Intel Xeon E3-1245 v3 з включеною технологією HT (Real w/HT), а 4-ядерної ВМ - щодо Intel Xeon E3-1245 v3 без HT (Real wo/HT). Недоліки експериментальної конфігурації 4-ядерної ВМ на 8-потоковому процесорі будуть вважатися щодо Intel Xeon E3-1245 v3 без HT.

Також в рамках тестування буде введено рейтинг продуктивності, де за 100 балів прийнято продуктивність Intel Xeon E3-1245 v3 без HT.

Прийнятний рівень втрат

Самий цікаве питання- Який рівень втрат продуктивності слід вважати допустимим? Теоретично, рівень 10-15 відсотків представляється нам цілком прийнятним, враховуючи ті плюси, які дає підприємству віртуалізація. Особливо враховуючи, що підвищується середній рівень завантаження обладнання та скорочується час простою.

На першому етапі вирішили подивитися, наскільки впаде продуктивність під час переходу на віртуальну систему в синтетичному тесті. Для цього ми взяли відносно простий бенчмарк Cinebench R15, який, однак, непогано визначає рівень продуктивності центрального процесорау розрахунках, пов'язаних із тривимірним моделюванням.

Real w/HTVM 8 coreReal wo/HTVM 4 core
Single Core151 132 (−13%) 151 137 (−9%)
Many Core736 668 (−9%) 557 525 (−6%)

4-потокова конфігурація має меншу продуктивність, але й втрати у відсотках у неї також менше - як в однопотоковому навантаженні, так і в багатопотоковій. Що стосується продуктивності ВМ, то, незважаючи на великі втрати, 8-ядерна конфігурація виявляється все одно швидше за 4-ядерну. Також можна припустити, що оскільки графічний адаптер емулюється драйвером Oracle, то наявність будь-якого навантаження на графічну підсистему повинна значно збільшувати витрати для віртуальних систем, тому що створює додаткове навантаження на процесор.

Ну а загалом поки орієнтуватимемося на ці цифри - близько 10% втрати продуктивності для 8-потокової конфігурації і близько 6% для 4-потокової.

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

Інтерактивна робота у тривимірних пакетах

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

CAD CreoElements

У режимі інтерактивної роботи в CAD CreoElements втрати при віртуалізації становлять значні 64%, причому для всіх конфігурацій. Швидше за все, через те, що в реальній системі задіяні ресурси відеокарти, а у віртуальному навантаженні лягає на центральний процесор через драйвера Oracle.

Цікаво відзначити, що i7-4770K показує меншу продуктивність, ніж Xeon, навіть незважаючи на використання досить потужної дискретної відеокарти. ( С. І. - обіцяні Intel оптимізації драйверів у серії професійних прискорювачів P4600/P4700?)

CAD CreoelementsReal w/HThw 4/8 vm 8
Приріст від НТ−4% −5%

Технологія HT негативно позначається на продуктивності як реальної системи, і ВМ - 4% і 5% втрат відповідно.

CAD SolidWorks

У SolidWorks картина в цілому не змінюється - витрати переходять усі розумні межі, показуючи понад 80% втрати продуктивності. Правда, в асиметричній конфігурації (CPU: 4 ядра, 8 потоків; ВМ: 4 ядра) витрати помітно менше, ніж у двох інших конфігураціях. Можливо, це пояснюється роботою фонових процесів у хост-ОС: тобто активація НТ подвоює кількість можливих потоків до 8, де 4 виділяються ВМ, а 4 залишаються у розпорядженні хост-ОС.

Десктопний 4770K значно швидше за Xeon (скоріше за все, завдяки тому, що Solidworks вміє задіяти в цьому сценарії ресурси графічної карти - С. К.). У цілому нині, великі витрати зумовлені тим, що SolidWorks вимогливий до графічної підсистемі, а, як було вище сказано, віртуальна графічна карта лише сильніше навантажує процесор.

CAD SolidWorksReal w/HThw 4/8 vm 8
Приріст від НТ−1% −9%

Активація НТ призводить до зниження продуктивності – для фізичного сервера це 1%, а для ВМ – 9%. Що, загалом, підтверджує гіпотезу про фонових процесах- оскільки 8-ядерна ВМ "захоплює" всі 8 потоків ЦП, хост-ОС та ВМ починають конкурувати за ресурси.

Підсумок групи

Витрати віртуалізації у цій групі додатків дуже значні (понад 60%), причому у обох досліджених пакетах. При цьому CAD CreoElements має менші витрати, ніж SolidWorks, але останній ще й вміє використовувати ресурси графічної карти, тобто на реальній системі може отримувати додаткові бонуси. Технологія HT не приносить користі на фізичному сервері, а на ВМ зовсім знижує продуктивність в обох пакетах. Загалом дуже високі втрати продуктивності не дозволяють рекомендувати віртуальні системи для роботи з пакетами тривимірного моделювання. Втім, варто подивитися ще на фінальний рендеринг.

Фінальний рендеринг тривимірних сцен

Швидкість фінального рендерингу тривимірних сцен залежить від продуктивності центрального процесора, тому тут картина повинна вийти більш об'єктивною.

Перше, на що варто звернути увагу: при фінальному рендерингу 3Ds Max показує значно менші витрати віртуалізації, ніж при інтерактивній роботі в CAD – 14% для 4-ядерної ВМ та 26% – 8-ядерної. Тим не менш, рівень витрат значно вищий за встановлені планки 6 і 10 відсотків.

В цілому, незважаючи на досить високі витрати, 8-ядерна ВМ має порівнянний рівень продуктивності з 4-ядерними 4-потоковими процесорами Intel, що дуже непогано.

3Ds MaxReal w/HThw 4/8 vm 8
Приріст від НТ26% 9%

Активація HT на реальному залізі дозволяє скоротити час рендерингу на 26% – дуже гідний результат! Що стосується НТ на ВМ, то тут все скромніше – лише 9% приросту. Проте приріст є, і помітний.

Lightwave

Lightwave взагалі показує відмінний результат: витрати віртуалізації знаходяться на рівні 3% для 4-ядерної ВМ і 6% для 8-ядерної ВМ. Як бачите, навіть в одній групі програми, призначені, в принципі, для однієї і тієї ж задачі, поводяться по-різному: наприклад, 3Ds Max показує значно більші витрати, ніж Lightwave.

Десктопний 4770К показує більшу продуктивність, ніж Xeon E3-1245v3. Варто зауважити, що 8-ядерна ВМ практично не поступається 4-ядерному 4-потоковому фізичному серверу. (Таке враження, що Lightwave погано оптимізовано, тому менше реагує на будь-які зміни конфігурації. Що зменшення продуктивності при віртуалізації, що поява додаткових ресурсів при активації НТ… на все він реагує слабше, ніж 3DsMax - С. К.).

LightwaveReal w/HThw 4/8 vm 8
Приріст від НТ5% 9%

Зате активація HT дає всього 5% додаток до швидкості для реального заліза і, що дивно, 9% для ВМ.

Підсумок

При фінальному рендерингу тривимірних сцен, що діє лише ресурси центрального процесора, витрати віртуалізації цілком прийнятні, особливо в Lightwave, де втрати продуктивності взагалі можна охарактеризувати, як незначні. Активація НТ і в 3Ds Max, і в Lightwave дозволила підвищити продуктивність як на фізичній, так і на віртуальній системі.

Упаковка та розпакування

Ключову роль у продуктивності архіваторів відіграє зв'язка процесора та пам'яті. Також варто зазначити, що різні архіватори по-різному оптимізовані, тобто можуть по-різному задіяти ресурси процесора.

7zip pack

Недоліки при стисканні даних становлять 12% для будь-якої системи.

Xeon E3-1245v3 і i7-4770K показують ідентичні результати - при трохи відрізняється частоті і різної пам'яті. Завдяки високому приросту від активації НТ віртуальна система з 8 ядрами обганяє реальну з чотирма.

7zip packReal w/HThw 4/8 vm 8
Приріст від НТ25% 25%

Втім, приріст швидкості стиснення активації HT встановився на 25% як реального заліза, так ВМ.

7zip unpack

У силу невеликого за обсягом тестового архіву, результати ВМ і реального сервера знаходяться на тому самому рівні в рамках похибки, так що реально оцінити витрати неможливо.

Цікаво, чи можна розглядати 22% як “чисті” втрати ВМ?

7zip unpackReal w/HThw 4/8 vm 8
Приріст від НТ0% 0%

Це стосується й оцінки ефекту від активації НТ - все ж таки обсяг тестового завдання зразка 2011 року дуже малий для сучасного 4-ядерного процесора.

RAR pack

У RAR витрати помітно вище, так і ростуть для 8-ядерної ВМ. Загалом, 25% - все-таки забагато. Але RAR має досить погану оптимізацію навіть під багатопоточність.

Активація HT призводить до уповільнення, але маючи на увазі посередню реалізацію багатопоточності WinRAR 4.0 це не дивно.

RAR packReal w/HThw 4/8 vm 8
Приріст від НТ−2% −11%

Через значні втрати від активації НТ 8-ядерна ВМ виявляється навіть повільнішою за 4-ядерну.

RAR unpack

Оскільки тестовий архів Методики для сучасного процесора малий, час виконання завдання занадто мало, щоб говорити про будь-яку точність. Тим не менш, можна точно сказати, що витрати відносно високі.

Як видно, різниця у відсотках велика, а в реальності - лише кілька секунд.

RAR unpackReal w/HThw 4/8 vm 8
Приріст від НТ0% −5%

Також можна точно сказати, що WinRAR погано перетравлює HT.

Підсумок

Продуктивність та витрати в цій групі дуже сильно залежать від архіватора, від його оптимізації та здатності ефективно використовувати доступні ресурси процесора. Тому й складно давати рекомендації з приводу використання у ВМ - це переважно залежить від додатка, а не від типу завдань. Тим не менш, 7zip демонструє, що рівень витрат при упаковці може бути відносно невеликим, і використовувати цей архіватор у віртуальних машинах можна.

Кодування аудіо

Ця група об'єднує кілька аудіокодеків, що працюють через оболонку dBpoweramp. Швидкість кодування аудіо залежить від продуктивності процесора та кількості ядер. Цей тест також дуже добре масштабується на більшу кількість ядер, оскільки багатопоточність у додатку реалізована шляхом паралельного запуску кодування кількох файлів. Оскільки кодування за допомогою різних кодеків створює практично однакове навантаження на систему і, відповідно, показує близькі результати, ми вирішили звести всі результати в одну загальну таблицю.

Отже, загальні витрати віртуалізації.

Кодування аудіо - ось ідеал з погляду витрат віртуалізації. Для 4-ядерної ВМ середні витрати становили лише 4%, а 8-ядерної - 6%.

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
AppleРезультати295 283 281 386 362 386
AppleРейтинг продуктивності100 96 95 131 123 131
FLACРезультати404 387 383 543 508 551
FLACРейтинг продуктивності100 96 95 134 126 136
Monkey AudioРезультати299 288 282 369 348 373
Monkey AudioРейтинг продуктивності100 96 94 123 116 125
MP3Результати185 178 175 243 230 249
MP3Рейтинг продуктивності100 96 95 131 124 135
Nero AACРезультати170 163 161 229 212 234
Nero AACРейтинг продуктивності100 96 95 135 125 138
OGG VorbisРезультати128 124 123 167 159 171
Nero AACРейтинг продуктивності100 97 96 130 124 134

Як бачите, хоча реальні результати для різних кодеків відрізняються, але якщо брати відсотки, то вони напрочуд схожі. Core i7-4770k часто виявляється трохи швидше (мабуть, роль відіграє більше висока частота). Також цікаво відзначити, що результати тесту 4-ядерної ВМ на системі з активованим НТ завжди трохи нижчі, ніж без нього. Ймовірно, це наслідок роботи НТ. Але в цілому, різниця у продуктивності в 3-5% між реальною та віртуальною системою – це дуже хороший показник.

Окремо подивимося, що додає активація НТ.

Кодування аудіоReal w/HThw 4/8 vm 8
Apple31% 28%
FLAC34% 31%
Monkey Audio23% 21%
MP331% 29%
Nero AAC35% 30%
OGG Vorbis30% 28%

Активація технології HT дозволяє збільшити швидкість на 31% на реальному сервері та на 28% на віртуальному. Також один із найкращих результатів. Нарешті, зведена таблиця результатів.

Компіляція

Швидкість компіляції також залежить не тільки від частоти та продуктивності ядра, а й від їхньої кількості.

Продуктивність серверного Xeon можна порівняти з десктопним i7. 8-ядерна ВМ не дотягує до фізичної системи з відключеним НТ.

GCCReal w/HThw 4/8 vm 8
Приріст від НТ24% 7%

Відчутний приріст продуктивності відбувається при активації НТ на фізичному сервері - 24%, а на ВМ збільшення кількості ядер дозволяє підняти продуктивність лише на 7%. Хоча це теж непогано.

Компілятор Intel демонструє дещо більше падіння продуктивності при віртуалізації, ніж GCC – 19% та 33% для 4-ядерної та 8-ядерної ВМ відповідно.

Продуктивність Xeon можна порівняти з i7, а продуктивність 8-ядерної ВМ - з Xeon wo/HT. І заразом видно, який значний приріст дає активація НТ. Все-таки продукт Intel, тому в тому, що його постаралися уніфікувати під НТ, немає нічого дивного. У цифрах це виглядає так:

Можна оцінити і різницю в часі, який був потрібний для виконання завдання. Так теж цілком наочно.

MSVCReal w/HThw 4/8 vm 8
Приріст від НТ29% −26%

Щодо НТ, то її активація на реальній системі дозволяє підняти швидкість аж на 29%, тоді як у віртуальній системі спостерігається приблизно таке ж зниження продуктивності. Варто також зауважити, що асиметрична конфігурація ВМ з чотирма ядрами на 8-потоковому процесорі показує менші витрати, ніж симетрична, проте на 8-ядерній ВМ видно значне зростання витрат.

Загалом цей компілятор на ВМ працює з занадто великими втратами продуктивності.

Разом

GCC демонструє прийнятний рівень витрат, ICC - більше, але з ними ще можна миритися. Компілятор Microsoft на віртуальних системах працює дуже повільно. Зате всі учасники цієї групи демонструють гарний приріст продуктивності при активації НТ - крім MSVC у віртуальній системі.

Математичні та інженерні розрахунки

За винятком MATLAB, дана група тестів не має багатопоточних оптимізації.

Математичні та інженерні розрахунки в Maple показують цілком прийнятний рівень витрат – 11%.

8-ядерна ВМ трохи повільніша, ніж чотириядерні. Але загалом результати віртуальних систем непогані.

На відміну від попереднього сценарію, 8-ядерна ВМ помітно відстає від 4-ядерних варіантів. До речі, і 4770к тут повільніше, ніж Xeon. Та й видно, що з активацією НТ все не дуже добре.

Причому всі варіанти ВМ демонструють схожу продуктивність, але 8-ядерний варіант трохи позаду.

Солідна продуктивність Core i7-4770k пояснюється присутністю зовнішньої графічної карти.

SolidWorks (CPU)Real w/HThw 4/8 vm 8
Приріст від НТ0% −5%

На фізичному сервері SolidWorks ніяк не реагує на активацію НТ, а на ВМ реакція є, але негативна - 5% зниження продуктивності.

Разом

Рівень витрат у цій групі залежить від використовуваної програми: мінімальні у Maple, максимальні CreoElements. Загалом математичні розрахунки можна з застереженнями рекомендувати до віртуалізації.

Растрова графіка

Через слабку оптимізацію або з інших причин, але втрати продуктивності у віртуальних системах у ACDSee величезні.

З такою різницею в часі виконання тестових сценаріїв рекомендувати цю програму для використання на віртуальній машині не підніметься рука.

Погляд не реальні цифри часу виконання теж навіює смуток.

Ну і результати включення Hyperthreading:

Результати віртуальних систем непогані, тільки не варто використовувати 8-ядерну конфігурацію. Що цікаво, 4770К і система з НТ трохи відстають від референсної системи, тобто активація НТ погіршує ситуацію.

Працювати у віртуальній системі більш-менш можна, якщо вона 4-ядерна.

PhotoshopReal w/HThw 4/8 vm 8
Приріст від НТ1% −16%

Активація НТ практично не дає дивідендів на реальній системі, а продуктивність ВМ погіршує аж на 16%.

Разом

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

Щодо висновків, то практично всі додатки для роботи з растровою графікою погано реагують на активацію НТ у віртуальних машинах, а її активація на реальній системі проходить непоміченою. Продуктивність на 4-х'ядерній ВМ залежить від програми: у двох із чотирьох додатків витрати активації щодо невисокі, і використовувати ці програми у ВМ можна. А ось ставити 8 ядер у налаштуваннях не варто – замість зростання продуктивності отримаєте суттєве її погіршення. Загалом, програми для обробки зображень доведеться пробувати, щоб індивідуально оцінити продуктивність та її падіння у ВМ. Рівень витрат під час переходу на віртуальну платформу для протестованих додатків здається високим.

Векторна графіка

Ця група є однопоточною, тому продуктивність залежатиме лише від продуктивності одиничного ядра.

Illustrator

Приблизно така ж ситуація, що й у попередній групі - більш-менш прийнятні витрати для 4-ядерних ВМ та великі втрати продуктивності для 8-ядерної ВМ,

Продуктивність E3-1245v3 можна порівняти з 4770K - хоча останній дещо швидше за рахунок 100 додаткових мегагерц. Що ж до загальної картини… Падіння у відсотках виглядає не надто страшним, але насправді може вилитися у помітні додаткові втрати часу.

IllustratorReal w/HThw 4/8 vm 8
Приріст від НТ0% −12%

І та сама ситуація з НТ - ніякого приросту від активації на реальній системі, помітне падіння продуктивності на віртуальній. Проте причину ми вже описали вище.

Кодування відео

Потрібно враховувати, що перші три учасники - це повноцінні графічні пакети, тобто йдеться про інтерактивну роботу та подальше створення ролика. Тоді як решта учасників - це просто кодувальники.

Expression

З кодуванням відео в Expression справа не дуже добре - навіть на 4-ядерних системах втрати продуктивності під 20%, а у 8-ядерної - практично на третину.

Як бачите, потужні процесориіз включеним НТ відстають від версії без нього.

Та й подивимося, що дає НТ.

Що цікаво, в цьому пакеті Core i7-4770k показує помітно більш високу продуктивність, ніж на тестовій системі.

Vegas ProReal w/HThw 4/8 vm 8
Приріст від НТ0% −16%

Активація НТ не приносить жодних дивідендів на реальній системі, а на віртуальній показує 16% зниження продуктивності.

Загалом, Vegas Pro, схоже, значно менш оптимізований під роботу з сучасними процесорами і витрачає їх ресурси неефективно. Тому Premiere виглядає набагато симпатичніше з погляду перспектив роботи у віртуальному середовищі.

Ну а тепер давайте подивимося, як поводяться чисті кодувальники відео.

Отже, х264 демонструє в цілому терпимі витрати, причому, в якісь століття 8-ядерна ВМ ефективніша за 4-ядерні.

Продуктивність 8-ядерної ВМ лише на 9% нижче, ніж Xeon wo/HT.

Цифри, як то кажуть, говорять самі за себе.

xvidReal w/HThw 4/8 vm 8
Приріст від НТ−4% −34%

На жаль, активація НТ завдає лише шкоди. І якщо на фізичному сервері втрати незначні – 4%, то на ВМ вони сягають 34%. Тобто і Xvid і ВМ неефективно оперують логічними ядрами.

Разом

Отже, у відеоредакторів рівень втрат продуктивності залежить передусім від самого редактора, тому придатність до роботи на ВМ варто оцінювати індивідуально. У наших тестах (і для використовуваних нами версій продуктів) значно краще виступив Premiere.

Що ж до кодувальників, то хоча різниця між ними є, але у 4-х'ядерних ВМ вони всі показують досить непогані результати. Щодо використання 8-ядерних віртуальних машин, то тут можна отримати як зростання, так і серйозне падіння продуктивності. Інше питання, що при прийнятті рішення про запуск перекодування відео на віртуальній машині треба завжди пам'ятати, що сучасні процесори і графіка мають широкий спектр оптимізації під цей клас завдань (так само, як і ПЗ), а в ВМ Oracle Virtual Box робота буде здійснюватися в програмному режимі, тобто і повільніше, і з більшим завантаженням процесора.

Офісне ПЗ

Chrome у тесті поводився не зовсім адекватно, тому ставитись до результатів варто з великою часткою скепсису.

І результати активації НТ.

ChromeReal w/HThw 4/8 vm 8
Приріст від НТ68% −8%

До цього підтесту групи не варто ставитися серйозно з цих обставин.

MS Excel показує витрати лише на рівні 15% і 21% для 4-ядерної і 8-ядерної ВМ. У принципі, рівень витрат можна назвати високим. Хоча на практиці користувач навряд чи помічатиме уповільнення роботи, хіба що в дуже складних розрахунках. У 8-ядерної системи витрати зазвичай вище.

Тестове завдання для Excel займає багато часу, що дозволяє продемонструвати різницю в часі на його виконання. Як бачите, віртуальна система виконуватиме його на 2 хвилини довше.

І окремі витрати від НТ:

За рахунок високої ефективності НТ 8-ядерної ВМ вдається випередити фізичний сервер на базі Xeon wo/HT. Що цікаво, 4770К показує помітно вищий результат. Подивитись таблицю з результатами

VM 4 core w/HTReal w/HTVM 8 core4770K Результати0:44 0:49 0:49 0:44 0:51 0:43 Рейтинг продуктивності100 90 90 100 86 102

Через невеликий час виконання тестового пакета, а отже, високої похибки, судити про ефективність НТ складно.

Активація НТ призводить до 14% зниження продуктивності на ВМ.

Разом

Найголовніше, що варто мати на увазі - здебільшого продуктивності сучасних систембуде вистачати для всіх офісних завданьшвидше за все навіть із запасом. А якщо рівень продуктивності достатній, то користувача не цікавитиме, які там витрати.

Java

Даний тестовий пакет цікавий тим, що Java по суті є віртуальною машиною, а отже запуск Java на Oracle VM VirtualBox означає запуск віртуальної машини на віртуальній машині, що передбачає подвійне абстрагування від апаратного забезпечення. Саме тому варто очікувати адекватних витрат - усі основні втрати продуктивності відбулися лише на рівні перенесення програмного коду на Java.

Витрати 8-ядерної ВМ встановилися на 8%, а 4-ядерної – 5%.

За рахунок високої ефективності НТ та невисоких витрат 8-ядерна ВМ вказує на 6% більшу продуктивність, ніж Xeon wo/HT. Приріст від НТ реальному залозі становив 16%, але в ВМ - 12%.

JavaReal w/HThw 4/8 vm 8
Приріст від НТ15% 12%

Дивлячись на результати Java, можна припустити, що віртуалізація різних фреймворків і програм, написаних мовами програмування з трансляцією у свій байт-код, нічого очікувати мати високих витрат, оскільки всі основні витрати " закладено " у яких самих. Тобто повсюдне використання мов програмування з псевдокодом не таке вже й погане явище, особливо для віртуальних машин.

Відтворення відео

Цей розділ слід розглядати просто як ілюстрацію - тому що на реальних системах використовується DXVA, тобто апаратне прискорення - відповідно, навантаження на процесор мінімальна. На відміну від ситуації з ВМ, де всі розрахунки виконуються програмно. У підсумковий бал він також не включений.

Нагадаю, тут значення таблиць - це рівень завантаження процесора. Чому він буває більше 100% – можна почитати у методиці.

MPCHC (DXVA)

Це хороша ілюстрація ефективності засобів апаратного прискорення і при відтворенні відео все очевидно. Але варто пам'ятати, що на сучасних системах приблизно тих самих результатів можна досягти і за допомогою інших оптимізацій - того ж Qsync для роботи з відео, СUDA для графічних розрахунків і т.д.

MPCHC (software)

А ось у софтверному режимі різниця між фізичним сервером та віртуальним невелика – 4%. Де-факто, витрати продуктивності незначні.

VLC (DXVA)

Що цікаво, у VLC завантаження процесора для ВМ істотно нижче, ніж у MPC HC.

VLC (software)

У софт-режимі різниці між реальним залізом та ВМ знову практично немає. Активація DXVA у віртуальній системі призводить лише до додаткової роботи процесора.

Багатозадачне оточення

Витрати в багатозадачному оточенні склали 32% і 25% для 8-ядерної та 4-ядерної ВМ відповідно. 4-ядерна ВМ дуже сильно провалилася, там витрати аж 67%. Чому таке відбувається - складно сказати (нагадаю, йдеться про стабільний результат за кількох запусків).

І що відбувається за активації НТ

MultitaskingReal w/HThw 4/8 vm 8
Приріст від НТ14% 3%

Технологія НТ у багатозадачному оточенні приносить свої плоди для реальної системи – 14% приросту, а ось ВМ все значно гірше – 3%.

Тестування багатозадачності - досить тонкий процес, який впливає безліч чинників. Тому робити однозначні висновки із сторвідсотковою впевненістю складно. Наприклад, чим можна пояснити величезне падіння продуктивності чотириядерної ВМ під час активації НТ? Якимись специфічними особливостями взаємодії хост-ОС та ВМ? Або використовувані в тесті програми сильно втрачають у продуктивності (а приклади вище ми бачили) і в сукупності дають такий результат? До речі, якщо останнє твердження правильне, це добре показує, що сукупні витрати від використання ВМ можуть виявитися дуже високими.

Нарешті, зверніть увагу на продуктивність Core i7-4770k, який у цьому тесті дуже відстав від нашого тестового стенду, хоча в окремих завданняхжодних провалів не допускав. У чому тут річ? Ймовірно, причина падіння продуктивності - своп через нестачу оперативної пам'яті, яка проявляється лише при запуску кількох «важких» програм одночасно. Втім, не виключатимемо й інших причин.

Середній бал

Це, звичайно, середня температура по лікарні, але все ж...

Середньоарифметичні витрати віртуалізації за всіма тестами склали 17% і 24% для 4-ядерної та 8-ядерної ВМ відповідно.

Приріст від НТ становив 12% для фізичного сервера та 0% для ВМ.

І на цій мажорній ноті давайте переходити до висновків.

Висновки

На мій погляд (С.К) аналізувати продуктивність і втрати продуктивності для окремих груп або додатків не варто: у світі ПЗ все занадто мінливо. Але можна відзначити певні тенденції.

Висновок перший: Hyperthreading не завжди допомагає навіть на реальній системі – іноді його активація призводить до деякого зниження продуктивності. З віртуальними системами ситуація ще складніша: 8-ядерна ВМ найчастіше програє за продуктивністю 4-ядерної. Т.е., використовувати зв'язку «4 ядра + НТ на реальному процесорі» і 8-ядерна ВМ можна лише для тих завдань, де ви точно знаєте, що результат такого рішення буде в плюс, а не в мінус. Втім, тут слід пам'ятати, що завдання НТ було саме в тому, щоб покращити продуктивність у багатозадачному оточенні та (як і у ВМ) стабілізувати навантаження на процесор. Тому система загалом від активації НТ має вигравати завжди – особливо серверна.

Висновок другий: Витрати під час переходу на віртуальну машину залежать швидше від типу завдань, як від конкретного докладання. Більше того, ефективність використання того чи іншого додатка у віртуальній машині (ВМ), мабуть, визначається тим, наскільки його алгоритми «лягають» на особливості ВМ. Наприклад, ми не можемо точно визначити, чи є велике падіння продуктивності при роботі із зображеннями у ВМ наслідком того, що цей клас завдань взагалі погано «віртуалізується», чи наслідком того, що існуючі програмипросто використовують застарілі алгоритми, які не оптимізуються, тому що на сучасних швидких процесорах і так добре працює.

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

У якихось групах віртуалізація дає відносно невеликі витрати - насамперед у вічі впадають аудіо- та відеокодування. Як правило, йдеться про просте і стабільне навантаження, пов'язане саме з обчисленнями. Це підводить нас до такого висновку.

Висновок третій: Наразі основні проблеми у віртуальних машин починаються тоді, коли реальна система може задіяти апаратні оптимізації. У розпорядженні реальної системи багато різних технологійоптимізації: DXVA, OpenCL, QSync та інших - які дозволяють зняти навантаження із центрального процесора та прискорити виконання завдання. У віртуальній системі Virtual Box таких можливостей немає. Втім, набір інструкцій VT-d дозволяє прокидати PCI-пристрої у віртуальне середовище. Наприклад, я (С.К) бачив професійне рішення НР з відеоадаптерами Nvidia Grid 2, обчислювальні ресурси яких можуть віртуалізуватися. Загалом ситуація залежить від самої віртуальної машини, пристроїв, драйверів, систем тощо. Тому до цього питання ми ще обов'язково повернемося.

Нарешті, кілька слів варто сказати ось про яку річ (хоча основні висновки ми прибережемо до кінця всіх тестувань). Чи варто вираховувати відсоток падіння продуктивності і на його основі вирішувати, які завдання підлягають віртуалізації, а які ні? Наприклад, 20-відсоткове падіння швидкості роботи – це багато чи мало?

С.   К. На мій погляд, так ставити питання не варто і ось чому. А плюси з погляду бізнесу можуть переважити навіть 50% падіння продуктивності. Але навіть якщо подивитися на окремі і як би ресурсомісткі завдання, то все не так очевидно. Наприклад, перекодування відеоролика чи розрахунок тривимірної моделі триває 30 хвилин, а на віртуальній – за 50. Здавалося б, висновок очевидний – використання реальної системи оптимальніше! Однак якщо сцена вважається на робочій станції користувача, цей час він не може працювати. А якщо її можна скинути на сервер та займатися наступною (причому її підготовка займе гарантовано більше 50 хвилин), то загалом ефективність роботи зросте. А якщо ще на сервері обраховується кілька сцен - хай навіть поспіль і повільно - то все одно з погляду бізнесу (і за належного розпралювання завдань) виграш очевидний.

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

На цьому ми завершуємо дослідження продуктивності віртуальної системи з ОС Windows і Oracle VM VirtualBox. У наступному матеріалі ми розглянемо, наскільки зміниться продуктивність Windows 7 у ВМ, якщо хост-ОС виступає Linux.

Піст:

При виборі настільної платформи віртуалізації сьогодні у користувачів по суті всього два вибори - VMware Workstation і Oracle VirtualBox. Решта аналогів настільних продуктів або вже знято з виробництва, або відверто не дотягують до функціоналу цих двох платформ.

При цьому VMware Workstation є повноцінним комерційним продуктом із закритим вихідним кодом (вихідний код відкритий тільки у VMware Player - урізаної версії Workstation), а Oracle VirtualBox- платформа, що працює поверх багатьох операційних систем (з відкритим вихідним кодом видання VirtualBox OSE).

Питання продуктивності тут чіпати не будемо - їх розглядали раніше, але ці огляди вже неактуальні. Загалом, за відгуками користувачів обидва продукти показують більш-менш однакову продуктивність у середніх умовах (хоча існує думка, що VirtualBox швидше). У цій замітці наведено порівняння та .

У чому платформи VirtualBox і VMware Workstation обидві хороші:

  • Зрозумілий графічний інтерфейс
  • Зручний редактор мережевої взаємодії на хості
  • Диски віртуальних машин, що ростуть у міру заповнення їх даними (Thin Provisioning)
  • Технологія миттєвих знімків (снапшотів)
  • Технологія додатків у хостовій ОС з гостьової ОС у безшовних вікнах (тобто, додаток з віртуальної машини "виноситься" в робочу область хостової системи, ніби він у ній і працює)
  • Підтримка великої кількості гостьових ОС, підтримка Windows та Linux як гостьові ОС
  • Підтримка 64-бітових гостьових ОС
  • Підтримка Intel VT та AMD-V
  • USB 2.0 пристрою у віртуальних машинах
  • Відтворення звуку на пристроях хоста з віртуальної машини
  • Буфер обміну між гостьовою та хостовою ОС
  • Підтримка 3D-графіки для ігор та інших програм
  • Підтримка імпорту віртуальних модулів (Virtual Appliances)
  • Покращені драйвери в гостьовій ОС: VMware Tools та VirtualBox Guest Additions (обидва пакети оновлюються автоматично)
  • Обидві платформи підтримують техніки Memory Overcommit (так званий Memory Ballooning – перерозподіл вільної фізичної пам'яті між гостьовими ОС віртуальних машин)
  • Обидві платформи підтримують багатопроцесорні віртуальні машини (не менше 8 vCPU)
  • Розширення віртуальних дисків (у Workstation – зручніше)
  • Копіювання файлів між віртуальною машиною та ОС хоста
  • Обидві платформи мають підтримку доступу до консолі віртуальної машини через сервер RDP

Чому можна вибрати VirtualBox, а не VMware Workstation:

  • VirtualBox абсолютно безкоштовний, а VMware Workstaion коштує $207.90 за російським прайсом на березень 2011 р (при покупці менше 10 ліцензій).
  • VMware Workstation працює тільки в хостових ОС Windows та Linux, а VirtualBox підтримує хости Windows, Linux, Mac OS X та Solaris.
  • Технологія "Teleportation", що дозволяє перемістити запущену віртуальну машину на інший хост VirtualBox, без її зупинки. Ця функціявідсутня у VMware Workstation
  • VirtualBox має можливість роботи не тільки з рідним форматом VDI, але і VMDK, і VHD. VMware Workstation може виконувати віртуальні машини тільки з образів віртуальних дисків VMDK (хоча є безкоштовний продукт VMware Converter для імпорту віртуальних машин з інших форматів).
  • VirtualBox має більше параметрів для роботи з командного рядка(управління ВМ, пристроями, снапшотами та багатьом іншим)
  • VirtualBox краще підтримує аудіо для Linux-хостів (Workstation відключає звук у хостовій ОС, VirtualBox може грати паралельно)
  • VirtualBox має можливість обмеження споживання ресурсів CPU і введення-виводу, VMware Workstation цього немає (це вміє тільки VMware vSphere)
  • VirtualBox має можливість регулювання відеопам'яті

Чому можна вибрати VMware Workstation, а не VirtualBox:

  • VMware Workstation – комерційний продукт, а значить ви завжди зможете розраховувати на підтримку з певним рівнем SLA
  • VMware Workstation має більше можливостей для підтримки 3D-графіки, таких як: Windows Aero user interface, OpenGL 2.1 і Shader Model 3.0. Сама 3D-акселерація працює стабільніше, ніж у VirtualBox.
  • VMware Workstation має драйвер універсального друку. ThinPrint (не потрібне встановлення драйверів в гостьову ОС)
  • Створення снапшотів через задані інтервали часу (), що дозволяє захистити віртуальні машини за аналогією з можливістю автозбереження (наприклад, як у Microsoft Word).
  • Compact Virtual Disks – стиск віртуальних дисків для віддачі його під потреби інших систем.
  • VMware Workstation має більш широкий функціонал по роботі з віртуальною мережевою взаємодією – комутатори, DHCP, NAT та інше (хоча VirtualBox також має NAT, Bridge Networking – у Workstation це суб'єктивно зручніше).
  • VMware Workstation має функціонал зв'язаних клонів (Linked Clones) для віртуальних машин.
  • Запис активності віртуальної машини у відеоформаті, і навіть як послідовності дій користувача (Guest Record / Replay).
  • Workstation має можливості інтеграції з середовищами розробки та тестування (наприклад, Eclipse), а також спеціалізовані функції для розробників ПЗ (натомість у VirtualBox крутіше за API).
  • Захист віртуальних машин 256-бітовим шифруванням
  • У Workstation кілька приємних дрібниць- типу ярликів на програми з меню "Пуск", Pause a Virtual Machine (не suspend) тощо.

В цілому, якщо ви не знаєте, навіщо саме вам потрібна саме VMware Workstation, то сміливо вибирайте безкоштовний VirtualBox. Якщо ж ви розробник ПЗ або інженер з тестування - то я рекомендую вибрати VMware Workstation, яка має безліч зручних дрібниць, що використовуються щодня, які відсутні у VirtualBox.

Колеги, якщо ви помітили якусь помилку у порівнянні функціонала або у вас є чим доповнити це порівняння – напишіть, будь ласка, про це у коментарях.

Please enable JavaScript to view the

У цій статті ми розглянемо кілька способів підвищення продуктивності віртуальної машини VMware Workstation, Oracle VirtualBox, Microsoft Hyper-Vабо будь-який інший. Віртуальні машини досить вимогливі до характеристик комп'ютера, адже під час їхньої роботи на ПК одночасно запущено кілька операційних систем. Як результат, віртуальна машина може бути значно повільнішою за основну операційну систему або взагалі працювати з пригальмовуванням.

У цій статті ми розглянемо кілька способів підвищення продуктивності віртуальної машини, Oracle VirtualBox, Microsoft Hyper-V або будь-якої іншої.

Зміст:


Динамічний чи фіксований віртуальний жорсткий диск?

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

Наприклад, створюючи віртуальну машину з динамічним диском 30 ГБ, він не займе відразу ж 30 ГБ жорсткого дискакомп'ютера. Після встановлення операційної системи та необхідних програм його розмір буде близько 10-15 ГБ. Лише в міру додавання даних він може збільшитися до 30 ГБ.

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

Створюючи фіксований диск, всі 30 ГБ на жорсткому диску комп'ютера будуть виділені під диск віртуальної машини відразу ж, незалежно від обсягу даних, що зберігаються на ньому. Тобто, фіксований жорсткий диск віртуальної машини займає більше місця жорсткого диска комп'ютера, але збереження чи копіювання файлів та даних на ньому відбувається швидше. Він не так сильно схильний до фрагментації, так як простір під нього виділяється максимально великим блоком, замість того, щоб додаватися маленькими частинами.


Встановлення пакету інструментів віртуальної машини

Після встановлення на віртуальну машину гостьової операційної системи, перше, що необхідно зробити - це встановити пакет інструментів або драйверів вашої віртуальної машини, наприклад VirtualBox Guest Additions або VMware Tools. Такі пакети містять драйвера, які допоможуть гостьовій операційній системі працювати швидше.

Встановити їх легко. У VirtualBox, завантажте гостьову операційну систему та виберіть Пристрої / Підключити образ диска Додаткової гостьової ОС. «Цей комп'ютер»



У VMware Workstation виберіть меню Віртуальна машина / Встановити пакет VMware Tools…Після цього запустіть інсталятор, який з'явиться як окремий диск у папці «Цей комп'ютер»гостьової операційної системи.



Додайте папку з віртуальною машиною у виключення вашої антивірусної програми

Антивірусна програма також сканує файли віртуальної машини, що знижує її продуктивність. Але річ у тому, що антивірусна програма не має доступу до файлів усередині гостьової операційної системи віртуальної машини. Тому таке сканування безглуздо.

Щоб позбавитися зниження продуктивності віртуальної машини, можна додати папку з нею у виключення антивірусної програми. Антивірус ігноруватиме всі файли такої папки.


Активація Intel VT-x або AMD-V

Intel VT-x та AMD-V – це спеціальні технології віртуалізації, які призначені для забезпечення більшої продуктивностівіртуальних машин. Сучасні процесори Intel і AMD, як правило, мають таку функцію. Але на деяких комп'ютерах її автоматично не активовано. Щоб її увімкнути, необхідно перейти в BIOS комп'ютерата активувати її вручну.

AMD-V часто вже активована на комп'ютері, якщо підтримується. А Intel VT-x найчастіше відключена. Тому переконайтеся, що вказані функції віртуалізації вже активовані в BIOS, а потім увімкніть їх у віртуальній машині.


Більше оперативної пам'яті

Віртуальні машини вимагають обсягу доступної оперативної пам'яті. Кожна віртуальна машина включає повноцінну операційну систему. Тому необхідно поділити операційну систему вашого ПК на дві окремі системи.

Microsoft рекомендує щонайменше 2 ГБ оперативної пам'яті для своїх операційних систем. Відповідно такі вимоги актуальні і для гостьової операційної системи віртуальної машини з Windows. А якщо планується використання на віртуальній машині стороннього вимогливого програмного забезпечення, то її нормальної роботи оперативної пам'яті знадобиться ще більше.

Якщо вже після створення віртуальної машини виявилося, що оперативної пам'яті для її нормальної роботи недостатньо, то її можна додати в налаштуваннях віртуальної машини.

Перш ніж це робити, переконайтеся, що віртуальна машина вимкнена. Також, не рекомендується надавати віртуальній машині більш ніж 50% віртуальної пам'яті, що фізично присутня на комп'ютері.


Якщо виділивши для віртуальної машини 50% пам'яті вашого комп'ютера з'ясувалося, що вона не стала працювати досить комфортно, то можливо для нормальної роботи з віртуальними машинамивашому комп'ютеру недостатньо оперативної пам'яті. Для нормальної роботи будь-якої віртуальної машини достатньо 8 ГБ оперативної пам'яті, встановленої на основному ПК.

Виділити більше CPU

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

Якщо віртуальна машина встановлена ​​на комп'ютері з мульти-ядерним процесором, то налаштуваннях віртуальної машини для неї можна виділити кілька ядер для її роботи. Віртуальна машина на двох і більше ядрах центрального процесора працюватиме відчутно швидше, ніж на одному.


Встановлення віртуальної машини на комп'ютері з одноядерним процесором небажане. Працювати така віртуальна машина буде повільно і виконання нею будь-яких завдань буде неефективним.

Правильні налаштування відео

На швидкість роботи віртуальної машини можуть впливати налаштування відео. Наприклад, включення 2D або 3D-прискорення відео в VirtualBox дозволяє працювати деяким додаткам значно швидше. Те саме стосується й можливості збільшення відеопам'яті.

Але, як і у випадку з оперативною пам'яттю, багато залежить від відеоадаптера, який встановлено на основному комп'ютері.


Віртуальна машина та SSD диск

Першим і найкращим удосконаленням комп'ютера на сьогоднішній день є встановлення на нього диска SSD. Це відчутно прискорить роботу комп'ютера, а відповідно й віртуальної машини, що на ньому встановлено.

Деякі користувачі встановлюють віртуальні машини на інший (HDD) диск свого комп'ютера, залишаючи на SSD дискулише основну операційну систему. Це робить роботу віртуальної машини повільнішою. Звільніть місце на диску SSD і перенесіть віртуальну машину на нього. Різниця у швидкості роботи відчується з перших хвилин.

По можливості, не розміщуйте диски віртуальних машин на зовнішні носіїінформації. Вони працюють ще повільніше, ніж вбудований HDD диск. Можливі варіанти із підключенням віртуальної машини через USB 3.0, але про USB 2.0 і мови бути не може – віртуальна машина працюватиме дуже повільно.

Призупинення замість закриття

Коли ви перестали працювати з віртуальною машиною, її можна зупинити замість повного вимкнення.


Запускаючи програму для роботи з віртуальними машинами наступного разу, ви можете увімкнути віртуальну машину таким же способом, як і зазвичай. Але вона завантажиться значно швидше і саме в тому стані і з того місця, де ви закінчили працювати минулого разу.

Призупинення гостьової операційної системи дуже схоже на використання глибокого сну замість вимкнення ПК.

Поліпшення продуктивності всередині віртуальної машини

Завжди слід пам'ятати, що встановлена ​​на віртуальну машину операційна система мало чим відрізняється від тієї, яка працює на основному комп'ютері. Її роботу можна прискорити, дотримуючись тих самих принципів і використовуючи самі методи, які актуальні для будь-якої іншої операційної системи.

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

Програми для роботи з віртуальними машинами

Одні користувачі запевняють, що Oracle VirtualBox є найшвидшим інструментом для роботи з віртуальною машиною, для інших – VMware Workstation або Microsoft Hyper-V . Але те, як швидко працюватиме віртуальна машина на конкретному комп'ютері залежить від безлічі факторів: це і версія гостьової операційної системи, її тип, налаштування системи та віртуальної машини, продуктивність самого комп'ютера тощо. У будь-якому випадку завжди можна випробувати іншу програму.

У наші дні віртуалізація набирає все більшої та більшої популярності. Дуже часто віртуалізація застосовується у виробництві, наприклад, на серверах, VPS тощо, а й у домашніх системах. Особливо віртуалізація буде корисною для користувачів Linux, яким потрібно, наприклад, запускати кілька дистрибутивів для тестування або Windows.

Зараз існують два найпопулярніші середовища віртуалізації для Linux - це вільна VitrualBox і пропрієтарна Vmware. Кожна з програм має свої плюси та мінуси, у цій статті ми спробуємо розібратися, що краще Virtualbox або Vmware, а також чим відрізняються. Для зручності порівнюватимемо різні категорії.

Для багатьох користувачів, особливо домашнього комп'ютераціна має дуже велике значення. І тут vmware workstation чи virtualbox відрізняються.

VirtualBox

Середовище віртуалізації VirtualBox розповсюджується з відкритим вихідним кодом. Вона розробляється спільнотою програмістів у всьому світі і доступна для використання повністю безкоштовно.

VMware

Тут дещо складніше, програма комерційна, але має кілька редакцій. Для корпоративних користувачів є версія VMWare Workstation Pro, яка має набагато більше функцій, наприклад, підключення до серверів vSphere, ESXi, налаштування мереж, створення зашифрованих машин тощо. У безкоштовної версії VMware Player функціональність обмежена, вона призначена тільки для домашнього використання і слід сказати, що її функцій цілком вистачає. Є ті ж шаблони установки, детальні налаштуваннявіртуальних машин, мережу та багато іншого.

2. Процес встановлення систем

Так чи інакше, після встановлення самої програми, вам потрібно ще все налаштувати та встановити у віртуальне оточення операційну систему. Тому цей пункт дуже важливий. Процес встановлення та налаштування систем схожий, але є відмінності.

VirtualBox

Все налаштування виконується в графічному інтерфейсі, на відміну таких консольних інструментів, як qemu. Під час створення машини вам доведеться вказати безліч налаштувань, вибрати тип та розрядність операційної системи, вибрати кількість пам'яті для неї, створити жорсткий диск, налаштувати відеопам'ять. Установку можна проводити з ISO образу, USB флешки або DVD диска. Але весь процес установки вам доведеться пройти вручну, як при встановленні на звичайний комп'ютер.

VMware

Віртуальна машина VMware набагато полегшує встановлення, тут більше налаштувань для віртуальної машини, але головне не в тому, тут є шаблони для різних операційних систем, за допомогою яких їх можна встановлювати автоматично. Наприклад, ви вибираєте шаблон для Ubuntu або Windows, задаєте початкові параметри, вказуєте настановний образ і йдете у своїх справах, а коли повертаєтеся - система вже готова. Також VMware має інструменти для оптимізації роботи гостьової системи у віртуальному оточенні.

3. Можливості

Найбільше відмінностей при порівнянні Virtualbox або VMware можна знайти у можливостях віртуальних машин.

Virtualbox

Незважаючи на те, що VirtualBox - це безкоштовне рішення, віртуальна машина має свої переваги. Розглянемо основні можливості:

  • Підтримка роботи через командний рядок;
  • Інтеграція екрану, загальний буфер обміну та обмін файлами між хостом та гостьовою системою;
  • Підтримка 3D графіки обмежена лише OpenGL до 3.0;
  • Підтримується необмежену кількість знімків стану операційної системи;
  • Підтримується шифрування диска віртуальної машини за допомогою VBoxExtensions;
  • Підтримуються USB 2.0/3.0;
  • Підтримується запис відео з машини.

З мінусів можна відзначити те, що ви не можете виділити машині більше 256 мегабайт відеопам'яті, а для сучасних систем це не дуже багато. Також не підтримується DirectX для 3D графіки.

VMware

У VMware трохи більше функцій, але у безкоштовній версії є далеко не всі, розглянемо можливості безкоштовної версії:

  • Автоматичне встановлення систем за шаблоном;
  • Детальна настройка обладнання, включаючи налаштування ID процесора, довільної кількості відеопам'яті та інших параметрів;
  • Просте налаштування віртуальної мережіміж машинами, що піднімається автоматично на відміну від VirtualBox;
  • Поліпшена підтримка графіки та DirectX 10, можна грати в ігри;
  • Більш повна реалізація BIOS та підтримки EFI;

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

4. Продуктивність

Всупереч уявленням багатьох користувачів віртуальні машини працюють не набагато повільніше за хост, іноді навіть з такою ж швидкістю. Це досягається завдяки підтримці апаратної віртуалізації та оптимізації віртуальних машин. Що стосується відмінностей у продуктивності між реалізаціями, наприклад, VMware або VirtualBox, то вони незначні та на око практично непомітні.

Багато користувачів стверджують, що продуктивність VMware вища. До того ж, у плані графіки набагато краще працює VMware.

Висновки

Наше порівняння VitrualBox vs VMware закінчилося. При виборі програмного забезпечення для віртуалізації необхідно враховувати багато факторів. Але найголовніше - це ваші потреби та особисті уподобання. Якщо вам потрібна стабільна віртуальна машина, з гарною продуктивністю графіки, в яку можна буде встановлювати системи автоматично, але вам не важливі знімки стану, можете вибрати VWware.

Якщо ж ви любитель вільного програмного забезпечення і хочете знімки стану, але для вас не такі важливі налаштування обладнання, то можна використовувати VirtualBox. Яку віртуальну машину ви використовуєте? Як би ви відповіли на запитання, що краще VirtualBox або VMware? Чому ви обрали саме її? Напишіть у коментарях!

Схожі записи:


Розповісти друзям