Я решил проверить производительность виртуальной дисковой подсистемы VirtualBox. Решено было проверить производительность носителей подключенных к виртуальным контроллерам ide, sata и scsi , а также файловой системы общих папок и в режиме прямого доступа (raw диски) к дискам. Для измерения производительности была выбрана программа iozone.

Методика и результаты тестирования

Виртуальный жесткий диск vdi c установленной гостевой ОС Ubuntu последовательно подключался к различным виртуальным контроллерам для которого производились измерения. Для каждого теста производилось по пять замеров производительности операций чтения и записи командой iozone -s 512m -i 0 -i 1 и рассчитывалось их среднее значение. Ниже приведены результаты тестирования (значения приведены в килобайтах):



Условные обозначения:

box ide, box sata, box scsi — результаты для виртуального носителя подключенного соответственно к виртуальным контроллерам ide, sata и scsi.

Hdd — производительность дисковой подсистемы хоста

share - производительность общей папки

raw - производительность в режиме прямого доступа к диску.

Выводы

Погрешность измерений с моей точки зрения довольно велика, однако полученные результаты хорошо показывает общую картину. Операции чтения практически приближаются к производительности хоста, а вот скорости записи значительно различаются. Как и следовало ожидать sata и scsi контроллеры обеспечивают большую производительность дисковых операций, чем ide (что явно указано в документации). Однако при создании виртуальных машин по умолчанию виртуальные диски подключаются к ide контроллеру, и если вы хотите увеличить производительность дисковых операций ваших виртуальных машин то вам необходимо добавить к ВМ виртуальный sata контроллер. У меня вызвала удивление очень низкая производительность операций ввода/вывода общих папок и скорость записи в режиме прямого доступа к диску (возможно это связано с тем, что в данном режиме не используются кеш и буферы файловой системы хоста, да и у гостя памяти меньше). В виртуальных машинах, конечно, не возможно достичь производительности хост системы, но возможно подобрать некие настройки виртуальных машин, что бы хоть как то приблизиться к ним.

Тестовая среда

У меня на хосте имеется два SATA диска. На первом «прописалась» операционная система Ubuntu 9.10, а на другом я создал два отдельных раздела (c файловой системой ext4) для проведения тестов: один для хранения образа виртуального диска (vdi), а второй для прямого доступа и предоставления общей папки. Мой компьютер довольно древний и не поддерживает аппаратную виртуализацию и на нем установлен VirtualBox версии 3.1.:


ilya@ilya-desktop:~$ VBoxManage list hostinfo

Sun VirtualBox Command Line Management Interface Version 3.1.4

(C) 2005-2010 Sun Microsystems, Inc.

All rights reserved.


Host Information:


Host time: 2010-03-11T19:13:17.686000000Z

Processor online count: 1

Processor count: 1

Processor#0 speed: 2526 MHz

Processor#0 description: Intel(R) Celeron(R) CPU 2.53GHz

Memory size: 2013 MByte

Memory available: 1693 MByte

Operating system: Linux

Operating system version: 2.6.31-19-generic


Виртуальная машина была создана с помощью стандартного мастера создания виртуальных машин с жестким диском на 8Gb. Установлена гостевая ОС Ubuntu 9.10 и установлены гостевые дополнения, потом были добавлены контроллеры SATA и SCSI, добавлена общая папка:


ilya@ilya-desktop:~$ VBoxManage showvminfo "ubuntu 9.10"

Sun VirtualBox Command Line Management Interface Version 3.1.4

(C) 2005-2010 Sun Microsystems, Inc.

All rights reserved.


Name: ubuntu 9.10

Guest OS: Ubuntu

UUID: 36ef55a8-cbce-4b19-873e-b10abed9ff36

Config file: /home/ilya/.VirtualBox/Machines/ubuntu 9.10/ubuntu 9.10.xml

Hardware UUID: 36ef55a8-cbce-4b19-873e-b10abed9ff36

Memory size: 512MB

VRAM size: 12MB

Number of CPUs: 1

Synthetic Cpu: off

CPUID overrides: None

Boot menu mode: message and menu

Boot Device (1): HardDisk

Boot Device (2): Not Assigned

Boot Device (3): Not Assigned

Boot Device (4): Not Assigned

ACPI: on

IOAPIC: off

PAE: off

Time offset: 0 ms

Hardw. virt.ext: on

Hardw. virt.ext exclusive: on

Nested Paging: off

VT-x VPID: off

State: powered off (since 2010-03-06T20:39:51.000000000)

Monitor count: 1

3D Acceleration: off

2D Video Acceleration: off

Teleporter Enabled: off

Teleporter Port: 0

Teleporter Address:

Teleporter Password:

Storage Controller Name (0): IDE Controller

Storage Controller Type (0): PIIX4

Storage Controller Instance Number (0): 0

Storage Controller Max Port Count (0): 2

Storage Controller Port Count (0): 2

Storage Controller Name (1): Floppy Controller

Storage Controller Type (1): I82078

Storage Controller Instance Number (1): 0

Storage Controller Max Port Count (1): 1

Storage Controller Port Count (1): 1

Storage Controller Name (2): SATA контроллер

Storage Controller Type (2): IntelAhci

Storage Controller Instance Number (2): 0

Storage Controller Max Port Count (2): 30

Storage Controller Port Count (2): 2

Storage Controller Name (3): SCSI контроллер

Storage Controller Type (3): LsiLogic

Storage Controller Instance Number (3): 0

Storage Controller Max Port Count (3): 16

Storage Controller Port Count (3): 16

IDE Controller (0, 1): Empty

Floppy Controller (0, 0): Empty

SATA контроллер (0, 0): /media/big/vbox/ubuntu 9.10.vdi (UUID: 555deb38-aeee-49a0-882d-83042ccb2000)

SATA контроллер (1, 0): /home/ilya/.VirtualBox/HardDisks/sdb7.vmdk (UUID: af4be319-d554-4a6c-88b4-a9bfdb509ba8)

NIC 1: MAC: 080027ADF72A, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: Am79C973, Reported speed: 0 Mbps

NIC 2: disabled

NIC 3: disabled

NIC 4: disabled

NIC 5: disabled

NIC 6: disabled

NIC 7: disabled

NIC 8: disabled

UART 1: disabled

UART 2: disabled

Audio: disabled

Clipboard Mode: Bidirectional

VRDP: disabled

USB: disabled

USB Device Filters:

<none>

Shared folders:

Name: 'ilya', Host path: '/home/ilya' (machine mapping), writable

Guest:

Statistics update: disabled



Сайт создан в системе uCoz