仮想ルーターを実行する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を実行しようとしました。