가상 라우터를 실행하는 Arch Linux 호스트가 있습니다.
LXC 게스트를 라우터로 사용하면 모든 것이 정상입니다. 내 업스트림/다운스트림 속도는 100MBits이고 CPU 사용량은 거의 없습니다.
그런데 libvirt gest(pfSense FreeBSD)를 라우터로 사용하면 게스트를 통해 네트워크 트래픽이 많아질 때마다 CPU 사용량이 터무니없이 높아지는데(최대 100%), 최악인 부분은 네트워크 처리량이 절반으로 줄어든다는 점입니다. ! 내 최대 속도는 45-49Mbits입니다.
호스트는 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을 사용하기 시작한 지 1년이 넘었습니다. 이 문제를 해결하지 않으면 이러한 성능이 허용되지 않으므로 libvirt를 덤프해야 합니다.
답변1
이는 Linux 드라이버만큼 빠르게 실행될 수 없는 Virtio의 FreeBSD 드라이버와 관련이 있습니다.
https://forum.proxmox.com/threads/poor-virtio-network-performance-pfsense-guest-proxmox-3-4.23933/
^^ 위는 게스트와 호스트 및 pfSense 설정에서 하드웨어 체크섬 오프로드를 끄는 등 도움이 될 수 있는 몇 가지 작업을 자세히 설명하는 기사입니다(다시 테스트하기 전에 VM을 다시 시작해야 함).
나는 Proxmox(Debian 기반) 위에서 pfSense를 실행하려고 시도했으며 베어메탈의 공연 인터페이스에서 940-980Mbps를 얻었지만 VM 게스트에서는 최대 650-700Mbps를 얻었습니다.