New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad VXLAN Performance #1315
Comments
I have tested this with both iperf and batctl tp; I could reproduce the extreme performance drop with batctl, but not with iperf (or rather, with iperf the performance was rather bad even in legacy mode). The reason is fragmentation: the packet size used by batctl's throughput meter is chosen so that it goes through a 1500 byte link without fragmentation, but it needs to be fragmented over a 1430 byte link. Therefore, the numbers given by iperf are more accurate for real-life scenarios, as fragmentation is usually necessary both in VXLAN and legacy mode (or in neither, with proper MSS clamping). I have pushed a few optimizations for wired meshing (2950cc3 affects both legacy and VXLAN mode, a9edd43 and e54b37d slightly improve VXLAN performance). There will also be a follow-up to 7ae8a51 in a few days. With all these patches applied (including the follow-up), I have measured the following numbers with iperf on a WDR3600 (using my notebook on the other side) without MSS clamping:
Reducing the MSS to avoid fragmentation, I get the following numbers:
So VXLAN does cost performance without doubt, but it is by no means as bad as |
did you run iperf ON the wdr3600? if so, wasn't this test limited by cpu performance used by iperf itself? |
This check was with iperf on the WDR3600. This obviously harmed test performance, but I only wanted to test relative performance with and without VXLAN, and not the maximum achievable throughput. |
With d87a798, all throughput optimizations that are easily possible have been made. Firewall performance will be revisited after the next release. |
maybe we could document how much the performance was improved compared to the measurements @lephisto and @NeoRaider did in january? |
While testing the current master I noticed a significant performance drop when using VXLAN for wiremesh instead of the old fashioned way that binds the Wiremesh Interface directly to bat0:
Testsetting: TP-Link TL-WDR4300 v1 vs Siemens Futro S550, both connected to the same GBE capable Switch, VPN turned of at the WDR4300:
Initiated from WDR4300:
Initiated from Offloader
Initiated on WDR:
Initiated on Offloader:
For domainshortcut prevention VXLAN (or any Option to authenticate the Wiremesh) is a good idea, but for RF Backbone purposes this is too slow.
The text was updated successfully, but these errors were encountered: