Virtualbox主机io缓存应用场景

Yur*_*uri 5 virtualbox sata cache virtual-machine

Virtualbox 文档,将主机 io 缓存用于 sata 控制器可能存在系统性能风险。

同时,在我的情况下,我看到了使用主机 io 缓存的优势 - 当为 sata 控制器打开主机 io 缓存时,DisckCrystalMark 报告的性能提高了 10 倍。

我用谷歌搜索了很多,发现这个问题有点棘手,因为它取决于很多细微差别。如vdi类型、大小,可能是存储文件类型、大小、访问字符等。

可以说,我在来宾上有一个 CRM 应用程序,它使用基于文件的存储(270 个文件,3 GB 大小)。我是否应该向我的 VM 添加单独的 sata 控制器,然后为它打开主机 io 缓存,创建单独的 vdi(比如说 10 GB),将其连接到该“缓存控制器”,将 crm-app 文件存储移动到该磁盘?并留下具有主系统驱动器的未缓存控制器?

或者我可以在第一个 vm sata 控制器上打开整个系统的主机缓存?

每种情况的利弊是什么?

最后,使用或不使用主机 io 缓存的正确场景是什么?我什么时候应该使用主机 io 缓存而不会有麻烦?

PS:

主机:Ubuntu 14 服务器,68 GB RAM HDD Raid 1 Intel Xeon E5520 x 2(2 * 4 核)Virtualbox 4.3.30

来宾:Windows 2012R2 4 核、32 GB RAM、单个 SATA 控制器和单个 vdi 型标准磁盘。

关闭主机 io 缓存的结果是:

   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]
Run Code Online (Sandbox Code Playgroud)

但是随着主机 io 缓存打开,我有:

   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]
Run Code Online (Sandbox Code Playgroud)

那么真相在哪里呢?

这是我用谷歌搜索的链接,有一些相互矛盾的结果: