В документах 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]
Так где же правда?
Вот ссылки, которые я гуглил, есть некоторые противоречивые результаты:
h__ps://forums.virtualbox.org/viewtopic.php?е = 1 & т = 61428