Производителност на VmWare Workstation VM на отделен твърд диск

заден план

Занимава се с разработка и тестване на софтуер, вкл. у дома трябва да разположите виртуална среда и да инсталирате специализиран софтуер като: среди за разработка, сървъри за бази данни, приложения и др. До внедряването на пълноценна тестова среда. В моя случай имам цял AD домейн с клиенти за блекджек с различна операционна система, база данни, защитна стена, IIS и т.н. Ако всичко това е сглобено на оборудване на домашно ниво, има забавяне на производителността, особено при работа с дисковата подсистема. Разбира се, в случай на зареждане от един потребител, няма проблеми и замръзвания, можете да изчакате няколко секунди в повечето случаи. Но в някои случаи влошаването на производителността вече ме е засегнало напълно, особено когато работя в Visual Studio.

Забавлявайки се Работейки с VmWare Workstation в продължение на много години, си спомних, че когато създавате VM, можете да изберете отделен твърд диск за съхранение на данни:

производителност

Едно бегло търсене в мрежата не даде точни количествени оценки на печалбата в производителността. Само общи препоръки: какво „вероятно ще работи по-бързо“ и зависи от конкретния хардуер, видовете тестове и работата във VM. Реших да се опитам да разположа Windows 2012R2 VM и сам да проведа тестове за скоростта на диска, както и да изчисля скоростта на зареждане на VM със стартирането на Visual Studio 2013 и отварянето на проекта в него. И за да завършите картината, разширете видовете тестове - извършете подобни измервания, когато VM се намира в хранилището на домашната мрежа и в различни виртуални машини (VmWare и Virtual Box). Изведнъж някъде ще има изключителни резултати?

Тестване

Комплекти за тестване

Така че трябва да проверите следните тестове:

  • CrystalDiskMark
  • Време за стартиране на VM с проект, отворен във Visual Studio
Комбинирайки това с 5 разновидности на VM типове и конфигурации (VmWare и VirtualBox локално и по мрежата, VmWare на отделен диск), получаваме 10 теста. Virtual BOX все още не знае как да работи с отделни дискове / дялове.

Хардуерна среда

ОС Windows 8.1; VmWare Workstation 10.0.6; Виртуална КУТИЯ 5.0.16; Intel Core i7 4 ядра; MB Asus P6X58D-E; 24 Gb RAM; HDD: 256Gb SSD за OS; Твърд диск за виртуална машина: Segate Barracuda ST3250318AS, SATA-II, 8Mb, 7200rpm.

ОС Windows 2012R2; Intel Core i3 2 ядра; MB Asus P8H61-I; 4 Gb RAM; HDD Seagate Constellation ES ST1000NM0011 SATA-III, 64MB, 7200rpm.

Използват се мрежовите контролери, вградени в MB, мрежата между машините е 1 Gb / s. Дисковете на хост машината и в хранилището са различни, това разбира се може да повлияе на резултатите. Но стартирането по мрежата не е основната цел тук, така че не завъртях дисковете между хост машината и мрежовото хранилище.

ОС във всички VM е инсталирана от нулата, инсталирани са инструменти от VM, Visual Studio. проектът на Visual Studio се копира във виртуалната машина и се отваря 1 път. При следващото рестартиране индикаторите се измерват.

В случаите на VMDK и VDI не съм разделил файловете на няколко, цялата VM се съхранява в един файл.

резултати

WmWare Workstation, VMDK на локален диск (вляво) и мрежово хранилище (вдясно):

vmware

Virtual BOX, VDI на локален диск (вляво) и мрежово хранилище (вдясно):

vmware

И добре дошло измерване, VmWare машина, използваща цяло отделно устройство:

твърд

Както можете да видите, на практика не се различава от стартирането на VM със съхраняване на VMDK файла на същия диск. Тези. няма забележимо увеличение, всичко е в рамките на допустимата грешка. А какво да кажем за началния час на VM данните, отваряйки проекта във Visual Studio2013 и отваряне за редактиране на файл в него? За проекта взех малък сайт на ASP.NET с размер 13 MB, 161 файла. Отворен default.aspx от корена на сайта.

ТестVmWare LocalVMDKvmware отделен дискVmWare през мрежатаVirtualBOX LocalVDIVirtualBOX през мрежата
Стартирайте VM с VS, мин.: сек2:151:571:551:542:22
Както можете да видите, има леко увеличение на скоростта при използване на отделен диск (маркиран с удебелен шрифт). Разсейването в показанията за други тестове и тяхната печалба в сравнение с единичен диск не може да се обясни без по-кохерентна среда (поне трябва да завъртите дисковете).

Възникна и въпросът: как може SSD устройството в хост машината да повлияе на резултатите? Все пак съм му сложил настройките на VM. И там, когато работи ОС, има VMEM файл от 2 GB.

отделен

Гледах SSD с настройки на VM и този VMEM файл се осъществява достъп, докато VM работи с отделен диск. Е, изглежда, че няма достъп до SSD, 0-1% използване на диска. Ето пример - моментът на инсталиране на такава VM. Диск D се използва под тавана, SSD не се използва:

твърд

Все пак реших да оставя SSD и да запазя файла с настройки на VM и VMEMна същия диск, къдетокартографиранVMDK. Така че този диск поема цялата VM с вътрешностите. Когато създавате виртуална машина и избирате отделен диск, е възможно да използватеИзползване на отделен дялна този диск вместо целия диск. Разделих диска на 2 части, разпределих малко подсекция за съхранение на настройките на VM (30 GB) и дадох останалата част от RAW дяла на VM:

производителност

VM се създава нормално, настройките се записват в дял, видим в хост ОС. Но когато става въпрос за писане на данни вдял, изцяло предназначен за VM, се появява грешка, която не може да се записва, и VM се изключва. За съжаление, не беше възможно да се победи тази грешка, какво е не е ясно.

зрителни усещания

Не можете да го видите от числата, но времето за реакция на интерфейса е забележимо по-високо, отколкото при работа с VMDK / VDI на същия диск или мрежа.

И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".