Virtualbox主机io缓存应用场景

Virtualbox主机io缓存应用场景

Virtualbox 文档使用主机 I/O 缓存作为 SATA 控制器可能会对系统性能造成风险。

同时,就我而言,我看到了使用主机 io 缓存的优势 - 当为 SATA 控制器打开主机 io 缓存时,DisckCrystalMark 报告性能提高了 10 倍。

我在 Google 上搜索了很多,发现这个问题有点棘手,因为它取决于很多细微差别。例如 vdi 类型、大小、可能存储的文件类型、大小、访问特征等。

假设我在客户机上有一个 CRM 应用程序,它使用基于文件的存储(270 个文件,3 GB 大小)。我是否应该向我的虚拟机添加单独的 SATA 控制器,然后为其打开主机 IO 缓存,创建单独的 VDI(假设为 10 GB),将其连接到该“缓存控制器”,将 crm-app 文件存储移动到该磁盘?并保留具有主系统驱动器的未缓存控制器?

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

每种情况的优点和缺点是什么?

最后,在什么情况下适合使用或不使用主机 io 缓存?何时应该使用主机 io 缓存而不会出现问题?

附言:

主机: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]

但是打开主机 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]

那么真相在哪里?

以下是我在 Google 上搜索的链接,有一些相互矛盾的结果:

相关内容