📜 ⬆️ ⬇️

VM VmWare Workstation performance on a separate hard disk

Prehistory


Being engaged in the development and testing of software, incl. at home, you have to deploy a virtual environment and install specialized software such as: development environments, database servers, applications, etc. Up to the deployment of a full-fledged test environment. In my case, I have a whole AD domain with Blackjack clients with different operating systems, databases, firewalls, IIS, etc. Of course, in the case of a single-user load, there are no problems and hangs, you can wait a few seconds in most cases. But in some cases, the decline in performance has already overwhelmed me, in particular, when working in Visual Studio.

Idea


Having fun Working with VmWare Workstation for many years, remembered that when creating a VM, you can select an individual hard drive for data storage:

image
')
A quick search on the network did not give accurate quantitative estimates of productivity gains. Only general recommendations: that “probably will work faster” and depend on the specific hardware, types of tests and work in the VM. I decided to try to deploy VMs of Windows 2012R2 there and carry out tests of the speed of working with the disk myself, and also calculate the speed of loading VM with the launch of Visual Studio 2013 and the opening of the project in it. And for completeness, to expand the types of testing - to carry out similar measurements when the VM is located on the home network storage and in different virtual machines (VmWare and Virtual Box). Suddenly there will be outstanding results somewhere?

Testing


Testing Kits

So, you need to check the following tests:


Combining this with 5 types of VM types and configurations (VmWare and VirtualBox locally and over the network, VmWare on a separate disk), we get 10 tests. Virtual BOX is not yet able to work with individual disks / partitions.

Hardware environment

Host machine:

Windows 8.1;
VmWare Workstation 10.0.6;
Virtual BOX 5.0.16;
Intel Core i7 4core;
MB Asus P6X58D-E;
24 Gb RAM;
HDD: 256 Gb SSD for OS;
HDD for VM: Segate Barracuda ST3250318AS, SATA-II, 8Mb, 7200rpm.

Network storage:

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

Network controllers embedded in MB are used, the network between the machines is 1 Gbit / s. The disks on the host machine and in the repository are different, this of course can affect the results. But launching over the network here is not the main goal, so I did not turn the disks between the host machine and the network storage.

OS in all VM is installed from scratch, installs tools from VM, Visual Studio. is copied to the VM and the Visual Studio project opens once. At a subsequent reboot, indicators are measured.

In cases of VMDK and VDI files, I didn’t split into several files; the entire VM is stored in one file.

results


WmWare Workstation, VMDK on local disk (left) and network storage (right):

image

Virtual BOX, VDI on the local disk (left) and in the network storage (right):

image

And the long-awaited dimension, the VmWare machine using a whole separate disk:

image

As you can see, it practically does not differ from launching a VM with a VMDK file on the same disk. Those. There is no noticeable increase, all within the framework of the error. And what about the time of launching VM data, opening the project in Visual Studio 2013 and opening the file for editing in it? Under the project, I took a small ASP.NET site with a size of 13 MB, 161 files. Opened default.aspx from the site root.
TestVmWare LocalVMDKVmWare separate driveVmWare onlineVirtualBOX LocalVDIVirtualBOX over the network
Run VM with VS, min: s2:151:571:551:542:22

As you can see, there is a small gain in speed when using a separate disk (bold). The scatter in the readings on other tests and their gain compared to a single disk cannot be explained without a more coherent environment (at least it is necessary to twist the disks).

The question also arose: how can the SSD drive in the host machine influence the results? After all, the VM settings themselves I put on it. And there when the OS is running, the VMEM file is 2 GB in size.

image

I watched SSD calls with VM settings and this VMEM file while the VM was working with a separate drive. Well, it seems like there are no calls to the SSD, 0-1% of the disk load. Here is an example - the moment of installation of such a VM. Drive D is used under the ceiling, SSD is not used:

image

Still, I decided to leave the SSD and save the VM and VMEM settings on the same disk as the VMDK. So that this disk took on board the entire VM with giblets. When creating a VM and selecting a separate disk, it is possible to use not a whole disk but the Use individual partition on this disk. I split the disk into 2 parts, a little (30 GB) allocated a subsection for storing the VM settings, and the rest of the RAW section was given to the VM:

image

VM is created normally, settings are saved to the visible section in the host OS. But when it comes to writing data to a section entirely devoted to the VM, an error occurs that it is impossible to write to it and the VM shuts down. Unfortunately, we failed to defeat this error, what is not clear.

Visual sensations

The numbers are not visible, but the response time of the interface is much higher than when working with VMDK / VDI on the same disk or network.

findings


Although the effect of the CrystalDisk measurements and the start time is insignificant, the visual sensations from working in a VM hosted on a separate physical disk are noticeable. There are no “brakes”, it works like on a host machine. In full screen mode, you can not notice the difference.

Source: https://habr.com/ru/post/279239/


All Articles