10Gb on vyos 1.1.8 + nat + firewall performance

Hi All , Thank you for participating and helping the community. I want to tell you about my situation.
We have a x3550 7978 equipped with Xeon E5450 and 32gb ram. We install vyos 1.1.8 in esxi 5.5. Our network is made up of 3 bgp interfaces with our suppliers and another one for our clients.
we are experiencing packet loss on the interface to our clients. We have reviewed conntrack, flow control, even smp affinity. The most important thing is that we observe a very high CPU consumption on the client interface.

But my question is: this hardware can handle this amount of traffic with these characteristics?

What other parameters should I observe?

Thank you again

Hi, that is vintage setup :wink:
but still should do the job.
you not told us how much traffic you expect to handle ?

Hi, thanks , we are trying to handle arround 1,2Gb

Yes this hardware should handle this (and much more) just fine.

You may to try different virtual NIC (e1000, vmxnet…) and compare the result.

Also you can try disabling various offloading features (via ethtool) and compare result with offloading on / off

Hi , good point that , about the NIC we are using vmxnet3 on all eth

root@vyos-1:~# ethtool -k eth3
Offload parameters for eth3:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
ntuple-filters: off
receive-hashing: on

What’s the CPU configuration at the hardware and ESXI layer? I’ve seen performance issues with many network appliances that only have one socket.

I can affirm that VyOS 1.1.8 as a VM is capable of doing full 10 GbE without loss, I tested it the other day on Xen. No special configuration was required.

2 Likes

Keep in mind, the most basic of desktop and server CPUs are much more powerful than most embedded CPUs. Without talking about implementation specific optimizations, just in terms of GHz, most desktop and server CPUs run in the 3GHz to 4GHz range whilst most embedded CPUs run in the 800Mhz to 1GHz range. So even virtualized, you shouldn’t run into performance issues. Your NIC card drivers are going to have a much bigger influence than the CPU will.

1 Like