скорость сетевых соединений (VirtualBox)

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 05 ноя 2012, 20:34

В VirtualBox сетевой адаптер виртуальной машины может настраиваться 6-ю способами (раскрывающийся список):
Не подключен
NAT
Сетевой мост
Внутренняя сеть
Виртуальный адаптер хоста
Универсальный драйвер
В некоторых случаях (NAT, Сетевой мост) пакеты сбрасываются в реальную LAN (IP-пакеты, MAC-пакеты), в некоторых случаях они движутся через сетевую систему хост-компьютера не попадая в LAN.

Интересный вопрос (при эксплуатации некоторых систем ... в частности кластеров) а). какая реальная скорость интерфейса в зависимости от выбора его типа и б). проявляются ли в чём различия виртуальных сетевых интерфейсов от реальных физических сетевых адаптеров?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 05 ноя 2012, 20:38

Olej писал(а):а). какая реальная скорость интерфейса в зависимости от выбора его типа
Попробую так ...

На хост-компьютере VirtualBox (подключен к реальной LAN IP=192.168.1.9) создаю достаточно большой файл:

Код: Выделить всё

[Virtual@nvidia WORK]$ dd if=/dev/zero of=XXX bs=1kB count=100000
100000+0 записей считано
100000+0 записей написано
 скопировано 100000000 байт (100 MB), 0,50387 c, 198 MB/c
Смотрим скорость копирования файла на другой хост LAN (IP=192.168.1.5), физическая сеть 100Mb/s:

Код: Выделить всё

bash-4.2$ scp Virtual@192.168.1.9:/home/Virtual/WORK/XXX XXX.
Virtual@192.168.1.9's password:.
XXX                                                           100%   95MB  11.9MB/s   00:08....
Это очень похоже на пропускную способность физической Ethernet сети 11.9MB/s * 8 = 95.2Mb/s

Виртуальная машина PelicanHPC 2.8 через интерфейс "Сетевой мост" (объединение с сетевой системой хост-компьютера и LAN на уровне MAC)

Код: Выделить всё

user@pel1:~$ cat /etc/debian_version 
6.0.5
Скачивает тот же файл с хост-компьютера:

Код: Выделить всё

root@pel1:~# scp Virtual@192.168.1.9:/home/Virtual/WORK/XXX XXX
Virtual@192.168.1.9's password: 
XXX                                           100%   95MB  19.1MB/s   00:05    
Здесь 19.1MB/s * 8 = 152.8Mb/s
Многовато будет ... но не намного.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 01:17

homecluster писал(а):
Olej писал(а):Многовато будет ... но не намного.
То есть различие есть.
Не торопитесь делать выводы!
Я ещё ничего не намерял, и ничего не показал.
А вот когда намеряю - вот тогда можно будет какие-то выводы делать.
homecluster писал(а):И чем более реальным будет эксперимент тем различия будут больше.
А это с какой же стати?
Это утверждение совершенно из пальца высосано.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 01:23

Виртуальные машины (2 одинаковые копии) созданы с 2-мя интерфейсами: eth0 - сетевой мост, показан выше, ett1 - внутренняя сеть. После старта eth1 не будут иметь IP (в этой подсети нет DHCP!).

Код: Выделить всё

user@pel1:~$ ip addr show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 08:00:27:63:56:7d brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a00:27ff:fe63:567d/64 scope link 
       valid_lft forever preferred_lft forever
Конфигурирую 2 хоста на подсеть 192.168.2.0/24 соответственно:

Код: Выделить всё

user@pel1:~$ sudo ifconfig eth1 192.168.2.20 up

и

Код: Выделить всё

user@pel1:~$ sudo ifconfig eth1 192.168.2.21 up


Хост 192.168.2.21 - это тот хост, с eth0 IP 192.168.1.21, на который я выше копировал с хост-копьютера файл XXX:

Код: Выделить всё

user@pel1:~$ pwd
/home/user
user@pel1:~$ ls -l XXX
-rwxr-xr-x 1 user user 100000000 Nov  5 22:20 XXX
А теперь я этот же файл XXX перекину по другой подсетке 192.168.2.0/24 (внутренней виртуальной сети) на другую VM :

Код: Выделить всё

user@pel1:~$ ip addr show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 08:00:27:e3:3f:08 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.20/24 brd 192.168.2.255 scope global eth1
    inet6 fe80::a00:27ff:fee3:3f08/64 scope link 
       valid_lft forever preferred_lft forever
Копирование VM -> VM :

Код: Выделить всё

user@pel1:~$ scp user@192.168.2.21:/home/user/XXX XXX
Warning: Permanently added '192.168.2.21' (RSA) to the list of known hosts.
user@192.168.2.21's password: 
XXX                                           100%   95MB   7.3MB/s   00:13    
Н-да ... если я чего не перемудрил :-o ... здесь скорость канала: 7.3MB/s * 8 = 58.4Mb/s - т.е. существенно меньше не только передачи HOST -> VM, но и передачи HOST -> HOST в LAN.

P.S. К таким "измерениям" нужно относиться очень осторожно, повторяемость результатов будет очень неважная, и это можно расценивать только как прикидку порядка величины.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 01:52

Olej писал(а):P.S. К таким "измерениям" нужно относиться очень осторожно, повторяемость результатов будет очень неважная, и это можно расценивать только как прикидку порядка величины.
Если это так, то обмены хостов в виртуальном кластере (кластер PelicanHPC в VirtualBox) будут в 1.5 раза медленнее, чем в кластере где хосты обмениваются по реальной физической LAN 100Mb/s (Помогите поднять кластер)?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 01:55

Решил проверить скорость копирования HOST->VM, адаптер "сетевой мост" ... потому что разбросы большие и мало объяснимые... Теперь с другой VM (192.168.1.21):
Olej писал(а): Скачивает тот же файл с хост-компьютера:

Код: Выделить всё

root@pel1:~# scp Virtual@192.168.1.9:/home/Virtual/WORK/XXX XXX
Virtual@192.168.1.9's password: 
XXX                                           100%   95MB  19.1MB/s   00:05    
Здесь 19.1MB/s * 8 = 152.8Mb/s
Многовато будет ... но не намного.

Код: Выделить всё

user@pel1:~$ scp Virtual@192.168.1.9:/home/Virtual/WORK/XXX XXX
Warning: Permanently added '192.168.1.9' (RSA) to the list of known hosts.
Virtual@192.168.1.9's password: 
XXX                                           100%   95MB  19.1MB/s   00:05    
Там при ередаче мелькала цифра 20.1 .... но, в общем, 19.1MB/s - устойчиво повторяющаяся цифра.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 02:03

Ну и наконец, для полноты картины, копирование LAN -> VM (т.е. точнее LAN -> HOST -> VM: с узла реальной LAN 192.168.1.5 на хост-машину 192.168.1.9 и далее на VM 192.168.1.21) :

Код: Выделить всё

user@pel1:~$ scp olej@192.168.1.5:/home/olej/XXX XXX
Warning: Permanently added '192.168.1.5' (RSA) to the list of known hosts.
olej@192.168.1.5's password: 
XXX                                           100%   95MB  10.6MB/s   00:09    
В общем, это достаточно близко к цифре 11.9MB/s, полученной выше для передачи между реальными хостами реальной 100Mb/s LAN ... + с небольшими накладными расходами ретрансляции пакетов к VM.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 03:14

И передачу VM1 -> VM2 можновести двумя разными путями:

1. через подсеть 192.168.1.0/24, интерфейс eth0 -> eth0, оба "сетевой мост" объеденяющий на MAC-уровне LAN и виртуальную подсеть 192.168.1.0/24 :

Код: Выделить всё

user@pel1:~$ scp user@192.168.1.20:/home/user/XXX XXX
user@192.168.1.20's password: 
XXX                                           100%   95MB   7.3MB/s   00:13    
2. через подсеть 192.168.2.0/24, интерфейс eth0 -> eth0, оба "внутренняя сеть", доступная только VMs, и недоступная LAN:

Код: Выделить всё

user@pel1:~$ scp user@192.168.2.20:/home/user/XXX XXX
Warning: Permanently added '192.168.2.20' (RSA) to the list of known hosts.
user@192.168.2.20's password: 
XXX                                           100%   95MB   7.3MB/s   00:13    
Что достаточно удивительно, скорости абсолютно равные ... определяемые 2-мя сетевыми стеками VirtualBox (со стороны 2-х VM).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 03:26

Поскольку цифры не очень поддаются объяснению ... то решил я глянуть симметричность передачи: download vs upload.

И тут получаются большие неожиданности:

- это передача HOST -> VM, а затем VM -> HOST (инициализированные командой с VM):

Код: Выделить всё

user@pel1:~$ scp Virtual@192.168.1.9:/home/Virtual/WORK/XXX XXX
Virtual@192.168.1.9's password: 
XXX                                           100%   95MB  19.1MB/s   00:05    
user@pel1:~$ scp XXX Virtual@192.168.1.9:/home/Virtual/WORK/XXX 
Virtual@192.168.1.9's password: 
XXX                                           100%   95MB   6.8MB/s   00:14    
О-ба-на ... асимметрия в 3 раза!

Это LAN (внешний физический хост) -> VM, а затем VM -> LAN

Код: Выделить всё

user@pel1:~$ scp olej@192.168.1.5:/home/olej/XXX XXX
olej@192.168.1.5's password: 
XXX                                           100%   95MB  10.6MB/s   00:09    
user@pel1:~$ scp XXX olej@192.168.1.5:/home/olej/XXX 
olej@192.168.1.5's password: 
XXX                                           100%   95MB   8.7MB/s   00:11    
user@pel1:~$ 
Здесь асимметрия порядка ~20%

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: скорость сетевых соединений (VirtualBox)

Непрочитанное сообщение Olej » 06 ноя 2012, 03:38

Olej писал(а):Здесь асимметрия порядка ~20%
Несколько удивлённый таким явлением, смотрю передачу между 2-мя реальными хостами LAN, никаких виртуальных ;-) ... выполняю на хосте 192.168.1.5 :

- download из 192.168.1.9 :

Код: Выделить всё

bash-4.2$ scp Virtual@192.168.1.9:/home/Virtual/WORK/XXX XXX 
Virtual@192.168.1.9's password: 
XXX                                                                          100%   95MB  10.6MB/s   00:09    
- а теперь upload обратно на 192.168.1.9 :

Код: Выделить всё

bash-4.2$ scp XXX Virtual@192.168.1.9:/home/Virtual/WORK/XXX  
Virtual@192.168.1.9's password: 
XXX                                                                          100%   95MB  11.9MB/s   00:08    
bash-4.2$ 
Немного, но 12% асимметрии имеем и здесь.
Возможно, здесь вылазит специфика передачи файлов протоколом SSH?

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей