5

В документах Virtualbox говорится, что использование хост-кэша ввода-вывода для контроллера SATA может привести к снижению производительности системы.

В то же время, в моем случае я вижу преимущество использования кеша хоста io - DisckCrystalMark сообщает о 10-кратной лучшей производительности, когда кеш хоста io включен для контроллера sata.

Я много гуглил и обнаружил, что вопрос немного сложный, потому что он зависит от множества нюансов. Такие как тип vdi, размер, может хранить типы файлов, размер, характер доступа и т.д. И т.д.

Допустим, у меня есть приложение CRM на гостевой, которое использует файловое хранилище (270 файлов, размер 3 ГБ). Должен ли я добавить отдельный контроллер sata в свою виртуальную машину, затем включить для нее кэш хоста io, создать отдельный vdi (скажем, 10 ГБ), подключить его к этому "кэшированному контроллеру", переместить хранилище файлов crm-app на этот диск? И оставить некэшированный контроллер, который имеет основной системный диск?

Или я могу просто включить хост кеширования для всей системы на первом контроллере vm sata?

Каковы плюсы и минусы в каждом из этих случаев?

И наконец, что является правильным сценарием для использования или не использования кеша хоста io? Когда я должен использовать кеш хоста без риска проблем?

PS:

Хост: сервер Ubuntu 14 с 68 ГБ ОЗУ HDD Raid 1 Intel Xeon E5520 x 2 (2 * 4 ядра) Virtualbox 4.3.30

Гость: Windows 2012R2 4 ядра, 32 ГБ ОЗУ, один контроллер SATA с одним стандартным диском vdi-типа.

С отключенным кешем ввода-вывода хоста получается:

   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]

Так где же правда?

Вот ссылки, которые я гуглил, есть некоторые противоречивые результаты:

0