Скорость виртуальной сети в Proxmox
После вчерашней публикации возник ряд вопросов по скорости виртуальной сети в пределах одного хоста.
Т.е. мы рассматриваем скорость сетевого взаимодействия между виртуальными машинами и/или контейнерами, находящимися на одном физическом гипервизоре и подключенных к одному сетевому мосту. При этом неважно, подключен данный мост к сетевому интерфейсу или нет.
Начнем с контейнеров. Контейнер с принципа не имеет сетевого интерфейса в его классическом понимании, нам нет необходимости что-то эмулировать на этом уровне, он просто пользуется ресурсами хоста.
В этом случае скорость лимитируется только вычислительными способностями CPU и пропускной способностью памяти и как правило измеряется в десятках Гбит/с.
Для виртуальных машин ситуация немного посложнее, там появляется эмулируемое оборудование и определенные сопутствующие потери на виртуализацию, также многое зависит от того, какой тип эмулируемого оборудования мы используем.
При использовании эмуляции реальных сетевых адаптеров, скажем E1000 мы можем упереться в ограничения драйвера. Если же используем полностью виртуальный VirtIO, то скорость также ограничивается только возможностями процессора и памяти.
Если сравнивать контейнер и виртуальную машину, то контейнер будет всегда немного быстрее, за счет меньших накладных расходов.
Что касается конкретных физических чисел, то на современном этапе развития вычислительной техники вы скорее всего упретесь в пропускную способность памяти.
Для примера мы выполнили тест на процессоре Core i5-4670 3,4 ГГц с 32 ГБ DDR3 2400 и получили значения около 35 Гбит/с, что близко к потолку пропускной способности этого типа памяти в двухканальном режиме (около 38 Гбит/с).
Поэтому бояться виртуальных сетей не нужно, скорость в пределах одного сетевого моста всегда будет выше физических возможностей относительно недорого Ethernet оборудования.
Post #4991
2.78K