KVM и Libvirt: плохая производительность ЦП/сети гостевой ОС

KVM и Libvirt: плохая производительность ЦП/сети гостевой ОС

У меня есть хост Arch Linux, на котором запущен виртуальный маршрутизатор.

При использовании гостевой LXC в качестве маршрутизатора все отлично. Я получаю 100 Мбит Up/Down и почти не использую процессор вообще.

Однако, когда я использую libvirt gest (pfSense FreeBSD) в качестве маршрутизатора, всякий раз, когда через гостевую систему проходит большой сетевой трафик, загрузка ЦП становится неоправданно высокой (до 100%), но хуже всего то, что пропускная способность сети падает вдвое! Я получаю максимум 45-49 Мбит.

Хост не поддерживает сквозную передачу PCI, поэтому вот моя конфигурация для виртуальной машины libvirtd:

Nic1 (wan)
Network source: Direct ‘eth0’
Source mode: passthrough
Device model: virtio

Nic2 (lan)
Bridge name: br0
Device model: virtio

Я попробовал e1000, но это абсолютно ничего не изменило.

Host CPU: AMD A4-5000 Kabini
Guest CPU: default or Opteron_G3

Опрос оборудования в pfSense отключен, а pfSense ifconfig показывает следующее:http://storage5.static.itmages.com/i/16/1217/h_1481996196_8871112_a2f0d75655.png

Это продолжается уже больше года, с тех пор как я начал использовать KVM. Если я не решу эту проблему, мне придется выбросить libvirt, потому что такая производительность неприемлема.

решение1

Это связано с драйверами FreeBSD для Virtio, они просто не справляются с задачей работать так же быстро, как драйверы Linux.

https://forum.proxmox.com/threads/poor-virtio-network-performance-pfsense-guest-proxmox-3-4.23933/

^^ Выше приведен пост, в котором подробно описывается несколько действий, которые вы можете выполнить, чтобы помочь, например, отключение аппаратной разгрузки контрольной суммы на гостевой и хостовой машинах, а также в настройках pfSense (обязательно перезагрузите виртуальную машину перед повторным тестированием).

Я пытался запустить pfSense поверх Proxmox (на базе Debian) и на гигабитных интерфейсах на «голом железе» получал 940-980 Мбит/с, но на гостевой виртуальной машине получал максимум 650-700 Мбит/с.

Связанный контент