Page 1 of 1

Disk performance and Guest Addition

Posted: 4. Mar 2018, 11:48
by Selin
Hi
I've run some disk speed tests on my new VBox Windows guests.
Results a little bit confused - without VirtualBox Guest Addition results are better.
For Windows Server 2008 R2 SP1:
- without VirtualBox Guest Addition I have up to 2.9 GBps read and up to 1 GBps write speed
- with VirtualBox Guest Addition installed I have up to 2.5 GBps read and up to 0.9 GBps write speed
For Windows 2016:
- without VirtualBox Guest Addition I have up to 2.9 GBps read and up to 1.7 GBps write speed
- with VirtualBox Guest Addition installed I have up to 2.7 GBps read and up to 1.4 GBps write speed

Why Guest Addition decreases disk speed?

And another one comparison - SATA vs SAS controller:
- SATA: read and write ~1.2GBps
- SAS: read ~2.9GBps, write ~1GBps

All tests were done with ATTO disk speed test.

Re: Disk performance and Guest Addition

Posted: 4. Mar 2018, 12:50
by Selin
It is funny, but after sequence
1. install GA, power off/on cycle
2. deinstall GA, power off/on cycle
3. install GA once again, power off/on cycle
testing results with GA becomes almost the same as without GA.

Re: Disk performance and Guest Addition

Posted: 4. Mar 2018, 18:10
by socratis
That's because the GAs have absolutely nothing to do with your performance. And the O.01% that you were seeing? That's statistical error. Or cache.

Re: Disk performance and Guest Addition

Posted: 4. Mar 2018, 18:29
by mpack
@selin: If you check out user manual section 4.1, you'll see that it lists the features provided by the GAs. You'll also see that disk drivers are not in the list.

How could a VM boot if the boot disk drivers didn't get loaded until the guest OS has reached the stage of loading the GAs?

Re: Disk performance and Guest Addition

Posted: 5. Mar 2018, 10:13
by Selin
I was surprised as well.
But the fact is disk speed depends in presence of GA. I don't know why.
I've repeated the test once again with new guest and it confirmed the original results...

Re: Disk performance and Guest Addition

Posted: 5. Mar 2018, 11:23
by mpack
Selin wrote: But the fact is disk speed depends in presence of GA.
I'm trying not to be rude, but that is not possible. There is no possible connection between the two, therefore your test regime is faulty.

For the most part the GAs provide indirect access to the host graphics card, and host system time. They are not involved in disk access - in fact nothing inside the guest is. Disk access is done using a hardware simulation performed by the host, and that will be dominated by the changing efficiency of host file I/O from moment to moment.

Re: Disk performance and Guest Addition

Posted: 5. Mar 2018, 11:59
by erdeslawe
@Selin,

IME most Utility software that was specifically designed to work in an entirely physical environment, with direct access to all physical hardware (which almost all software is) is likely to be less reliable in a virtualised environment, with largely emulated hardware and a limited ability to use the full capacity of the physical hardware directly. That scenario appears to be similarly reflected in the differing results you are getting with a specific piece of benchmarking software when running the same tests.

I believe you are probably starting at the wrong end of your question as the software you are using clearly wasn't designed to measure the performance of Virtual Hard Drives. So why immediately query the performance results received in a Virtual Machine, when the first step should be to ask the software developer(s) who created the benchmarking utility:

- Has it been fully tested by them with virtualisation software and, if so, which products?
- Does it/Should it provide reliable results in such environments, i.e. a Virtual Hard Drive located on a Physical Hard Drive?
- How does it differentiate between the internal performance of the VHD and the external impact of what else might be taking place on the Host/Physical HD that could possibly affect performance results?

Only when you know those answers to those questions might it be worthwhile considering the performance results, if indeed it is of any real significance.

Re: Disk performance and Guest Addition

Posted: 6. Mar 2018, 12:39
by Selin
Just one more details:
- without VBox Guest Addition host CPU usage is about 2-3% during disk high-load
- with VBox Guest Addition installed host CPU is loaded up to 100% during disk high-load
Have no idea why...

Re: Disk performance and Guest Addition

Posted: 6. Mar 2018, 13:42
by Selin
erdeslawe wrote:I believe you are probably starting at the wrong end of your question ...
I didn't use low-level tools. ATTO and CrystalDiskMark are Windows applications, so I see no reason they should give wrong results being running under MS Windows system.
Windows API should remain unchanged despite it is installed on bare metal or on virtual hardware. Otherwise virtualization looses it's meaning.

I've compared results with the same guest system, not with the host. So my claim is in difference between results with/without VBox Guest Addition.

And I've never heard about benchmark tools specific for virtual systems.
The only I've heard - VMWare is afraid of being compared with other virtualization platforms, so they've prohibited any benchmark results publication of their platform.

Re: Disk performance and Guest Addition

Posted: 6. Mar 2018, 14:02
by socratis
Selin wrote:I've compared results with the same guest system
Doesn't matter. The timing in a Virtual Machine is not deterministic. You are in fact comparing apples and oranges, even if you think it's apples only.

It's like asking the question "what's my t-shirt's color in the dark?". You can't, it makes no sense in that setting, it's the question that becomes invalid, not the answer...

Re: Disk performance and Guest Addition

Posted: 6. Mar 2018, 20:18
by Selin
socratis wrote:
Selin wrote:I've compared results with the same guest system
Doesn't matter. The timing in a Virtual Machine is not deterministic.
Sounds strange for me...

So guest can run even 10x slower than host and it will be ok?...
I'm confused with such declaration...

Simple tests:
- create 100GB file with random data (i.e. write from /dev/random to file/disk)
- copy 100GB file to /dev/nul (i.e. read from file/disk to /dev/nul)
And every time I should get very different result - correct?
And not because of different load on the host, but because of VirtualBox nature?...