SSD or HDD: Which is Faster for a Virtual Machine?

April 16, 2014
ssdvshddIf a virtual machine loads and runs from a mechanical hard drive (HDD) or from a solid state drive (SSD), which drive offers faster performance?

Certainly, the SSD will be faster, but by how much? How about some numbers and graphs for comparison? Utilizing my super-scientific timing techniques (a stopwatch), I tested Xubuntu 13.10 in VirtualBox 4.3.10 on both a 5400 RPM and an SSD to see how much the drive affects VM operation and load times.

Here are the results.

Testing System

Host Hardware

The same system hardware was used for all tests. An AMD APU with 8GB RAM — plenty of power and memory. Nothing high-end or exotic. Host operating system is Linux Mint 16 64-bit.

Two hard drives

  • A standard Western Digital 5400 RPM
  • Samsung 470 SSD

VirtualBox 4.3.10

Guest OS

Two different OS images, Xubuntu 13.10 64-bit and Xubuntu 13.10 32-bit, were used as the guest operating systems.

x

Xubuntu 13.10 64-bit.

a

Xubuntu 13.10 32-bit.

 

 

 

 

 

Both had seen extensive usage for several months, and both were updated with the latest updates and the 3.14.0 kernel. Both were completely usable with plenty of extra programs installed. To reflect real-world load times, I wanted to test everyday images, not fresh installs. The 32-bit version was the bigger install, and it had more daemons running.

Testing Procedure

Four phases:

  1. VM cold boot to login screen
  2. Login to usable desktop (when desktop was completely loaded and ready for use)
  3. Test the load times of a few programs
  4. Shutdown time
Testing Procedure: Boot  to Login > Login to Desktop > Programs > Shutdown.

Testing Procedure: Boot to Login > Login to Desktop > Programs > Shutdown.

Each VM was tested individually with no additional user programs running on the host.

The Results

SSD is faster. 5400 RPM is slower. This outcome is expected, but here are measurable numbers for comparison.

a

Load and program times. Numbers are in seconds. Results were obtained using a stopwatch in order to accurately measure inaccurate, analog wait times present in the real world. Yes, these are the actual seconds that I really must wait with these virtual machines before I can do anything with them.

Xubuntu 32-bit might give the impression that 32-bit is slower than 64-bit, but this is not the case. The 32-bit VM contains many, many more installed programs and daemons than the 64-bit VM, so it takes longer to process requests. Again, this is an everyday VM for everyday usage, not a fresh install.

Graphical Comparisons

a

How quickly do the VMs and programs load from the hard drives?

a

Comparing Boot, Login, and Shutdown times by hard drive and OS.

a

Comparing program load times by hard drive and OS.

Interesting Points

1. Program Usage Speed Matters Little Between an SSD and a 5400 RPM HDD

A 5400 RPM hard drive is the slowest available, but what was interesting was that actual program usage speed did not matter much inside either VM after a program had loaded. For example, Firefox might have taken different times to load, but once loaded, both responded in roughly the same amount of time as long as no extra hard drive accesses were needed. If all of Firefox cached into VM RAM, it was just as fast and snappy when loaded from the HDD as it was when loaded from the SSD. Hard drive access is the choke point.

2. Repeat Program Loading Does Not Make Programs Load Faster

Another interesting point observed using both virtual machines with both hard drives is that programs loaded in about the same amount of time regardless of whether or not they had been opened before.

Usually, a program takes the most time to load upon its initial start. For example, GIMP might take a few seconds to load the first time following a cold boot on real hardware, but subsequent closing and loading during the same session will always load slightly faster since much of GIMP is cached into system RAM.

With the virtual machines tested, the result was different. No matter how many times a program was closed and reloaded during a session, it would always open in about the same amount of time. For example, AbiWord would always take about 6 seconds to load in the Xubuntu 32-bit VM regardless if it had been previously opened or not. Each program load took anywhere from 5.78 seconds to 6.11 seconds on the 5400 RPM drive. Program caching had little effect, if any.

The same was true for Xubuntu loaded from the SSD. If Filezilla took 2.62 seconds to load following a cold VM boot, it would always take about 2.62 seconds to load no matter if it had been closed and reopened multiple times. Again, caching seemed to have little effect in any virtual machine on the test system.

Conclusion

Host hard drive selection does affect the performance of a virtual machine, and a solid state drive is much faster than a 5400 RPM drive.

This might appear to be a pointless confirmation of an apparently obvious observation. After all, SSD drives are among the fastest available. However, this exercise achieved three goals:

1.    Measurable times. Yes, an SSD will be faster, but by how much? Can we compare the times with measurable numbers so we can print semi-pretty bar graphs?

2.    Does SSD vs HDD performance matter when using programs? Surprisingly, there is not a clear-cut answer. If the VM exists entirely in system RAM and no swapping is required, then there is little noticeable difference in operation speed whether loaded from SSD or from an HDD. The drive affects hard drive access times, so the HDD will be slower when loading the OS or programs. But once these things are loaded into memory, both virtual machines are fast. The mouse responds well, computations are limited to the CPU, and so on.

3.    How much everyday wait time is involved? (Not the same as #1 above.) Sure, an SSD is fast according to the synthetic benchmark numbers on the box, but how long will I have to wait in real life? What does this mean for me? Will I wait two seconds or three seconds for a program to load? There is much I can do in one second, so I would like to know. This lead to another unexpected result: Some programs loaded faster with an SSD, but not by much when compared to a 5400 RPM drive. The three-second difference was noticeable, but the switch from HDD to SDD with a virtual machine was not as dramatic as expected. There were no “instant-on, instant-off” results with an SSD. Wait time still exists.

Overall, this was a revealing test that showed we should not take too many things for granted.

, , ,

  1. Leave a comment

Leave a comment