6

Virtualbox docs says that using host io cache for sata controller may be a risk of system performance.

At the same time, on my case I see advantage of using host io cache - DisckCrystalMark reports up 10x time better perfomance when host io cache turned on for sata controller.

I googled a lot and found that question is a bit tricky, because it depends on a lot of nuances. Such as vdi type, size, may be storing files types, size, charater of access, etc, etc.

Lets say, I have a CRM app on guest that use file based storage (270 files, 3 GBytes size). Should I add separate sata controller to my VM, then turn on host io cache for it, create separate vdi (lets say 10 GBytes), connect it to that "cached controller", move crm-app file storage to that disk? And leave uncached controller that has main system drive?

Or I can just turn on host caching fot whole system on first vm sata controller?

What is pros and cons in each of these cases?

And finaly, what is right scenarios for using or not using host io cache? When should I use host io cache with no risk of troubles?

PS:

Host: Ubuntu 14 server with 68 GB of RAM HDD Raid 1 Intel Xeon E5520 x 2 (2 * 4 cores) Virtualbox 4.3.30

Guest: Windows 2012R2 4 cores, 32 GB of RAM, Single SATA controller with single vdi-type standart disk.

With host io cache turned off results is:

   Sequential Read (Q= 32,T= 1) :   123.458 MB/s
  Sequential Write (Q= 32,T= 1) :    97.999 MB/s
  Random Read 4KiB (Q= 32,T= 1) :     6.899 MB/s [  1684.3 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :     2.131 MB/s [   520.3 IOPS]
         Sequential Read (T= 1) :   122.048 MB/s
        Sequential Write (T= 1) :    85.759 MB/s
   Random Read 4KiB (Q= 1,T= 1) :     1.597 MB/s [   389.9 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :     1.652 MB/s [   403.3 IOPS]

But with host io cache turned on I have:

   Sequential Read (Q= 32,T= 1) :   501.050 MB/s
  Sequential Write (Q= 32,T= 1) :   552.461 MB/s
  Random Read 4KiB (Q= 32,T= 1) :    26.325 MB/s [  6427.0 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :    21.424 MB/s [  5230.5 IOPS]
         Sequential Read (T= 1) :   653.452 MB/s
        Sequential Write (T= 1) :   603.009 MB/s
   Random Read 4KiB (Q= 1,T= 1) :    16.561 MB/s [  4043.2 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :    14.950 MB/s [  3649.9 IOPS]

So where is the truth?

Here links I googled, there are some contradictory results:

1
  • Good question, I asked a similar one here: superuser.com/q/1296927/166906. The interesting thing is that the host io cache slowed things down for me quite a bit.
    – moritz
    Commented Mar 21, 2018 at 22:07

0

You must log in to answer this question.

Browse other questions tagged .