VyOS Performance on KVM

Hello ,I am currently evaluating VyOS running on KVM and am interested in understanding its performance characteristics. Specifically, I would like to know:

  • What level of CPU, memory, and NIC resources should be allocated to achieve certain throughput (bps) and packet-per-second (pps) performance?

  • Has anyone conducted benchmarks or performance tests under similar conditions? If so, would you be willing to share the results?

  • Are there any official documents, articles, or blog posts that detail VyOS performance on virtualized environments like KVM?

Any insights, experiences, or references would be greatly appreciated.

Thank you very much for your help!

I havent done any specific benchmarks but the usual suspects when using KVM for networking is:

  1. Set CPU to host.

  2. Enable NUMA.

  3. Disable ballooning.

  4. Use virtio as nic-type.

  5. Set multiqueue per nic to same amount as you have assigned logical cores (VCPU).

Other than that there are also more advanced stuff like CPU-pinning and passthrough of NIC-adapters etc.

VyOS nowadays also supports VPP/DPDK which is handy even when being runned as a VM.

Generally speaking if you need performance (and security) then put your router/firewall on dedicated baremetal.

Using firewalls and routers as VM’s is IMHO more for lab/education purposes. Or specific usecases if you need like some BGP routeflector or such where performance as in PPS or throughput isnt critical.

4 Likes