Производителност на 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
Хардуерна среда
ОС 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 на локален диск (вляво) и мрежово хранилище (вдясно):
Virtual BOX, VDI на локален диск (вляво) и мрежово хранилище (вдясно):
И добре дошло измерване, VmWare машина, използваща цяло отделно устройство:
Както можете да видите, на практика не се различава от стартирането на VM със съхраняване на VMDK файла на същия диск. Тези. няма забележимо увеличение, всичко е в рамките на допустимата грешка. А какво да кажем за началния час на VM данните, отваряйки проекта във Visual Studio2013 и отваряне за редактиране на файл в него? За проекта взех малък сайт на ASP.NET с размер 13 MB, 161 файла. Отворен default.aspx от корена на сайта.
Тест | VmWare LocalVMDK | vmware отделен диск | VmWare през мрежата | VirtualBOX LocalVDI | VirtualBOX през мрежата |
Стартирайте VM с VS, мин.: сек | 2:15 | 1:57 | 1:55 | 1:54 | 2: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" в полето "секретна парола".