Comments (3)
Hi @luisgerhorst, This may be due to checksum calculation. TCP checksum calculation are offloaded but there is no support to offload SCTP checksum so loxilb calculates the SCTP checksum in its eBPF core engine. If you disable checksum calculations at your client and server side and run loxilb with --disable-csum option then you will see better performance numbers.
If you happen to see low throughput for multi-threaded iperf3 SCTP traffic then this may be due to RSS distribution in Linux. For SCTP, the traffic is not well distributed and goes to only couple of cores which leads to bottleneck. Though, we have a workaround where loxilb takes care of the RSS distribution. Please run loxilb with --rss-enable option then you will see better performance in that case too.
from loxilb.
If you disable checksum calculations at your client and server side and run loxilb with --disable-csum option then you will see better performance numbers.
Thanks! As I am trying to have a realistic real world test, I assume it is better to keep it enabled. Or would you disagree? (i.e., do you think people do this frequently for SCTP?)
multi-threaded iperf3 SCTP traffic
At least on Debian 10, multi-threaded iperf3 does not seem to exist. Or were you referring to running multiple instances of the iperf3 against a single server?
man netperf
:
-P, --parallel n
number of parallel client streams to run. Note that iperf3 is single threaded, so if you are CPU bound, this will not yield higher throughput.
This also explains why I could not reproduce the TCP iperf2 numbers with iperf3. Thus I decided to stick to single-threaded benchmarks as they should be sufficient to measure the overhead of my kernel BPF runtime patches.
Please run loxilb with --rss-enable option then you will see better performance in that case too.
As this does not appear to have any downsides I will do that, thanks!
from loxilb.
Closing because the original issue has been resolved.
from loxilb.
Related Issues (20)
- performance: loxilb starts consuming 100% CPU only after a few seconds HOT 4
- tcplbl3dsrha fail HOT 6
- Support for docker arm builds HOT 2
- Direct host route addition cause traffic forwarding to stop working HOT 11
- Master node IP address changed to one of the Loadbalancer IP addresses after deployment HOT 1
- Issue with BFD Patch for Fast Failover: BFD Not Stable in HA Setup with loxilb HOT 2
- Configure end-point probe-time,retry values etc from kube-loxilb HOT 1
- BFD State Inconsistent [ Both shows MASTER ] at times HOT 2
- [BFD] New loxilb instance not retaining MASTER state after failover HOT 1
- Misleading libbpf FAILED logs
- Build from code and run is not working in a VM with kernel version 5.xxx-generic IF hypervisor (host) has a bigger kernel version like 6.xxx-generic HOT 16
- BPFireOS: cpumap libbpf: map 'cpu_map': failed to create: Argument list too long HOT 20
- BPFireOS: Prog section 'tc_packet_hook0' rejected: Permission denied (13)! R1 type=scalar expected=map_ptr HOT 11
- Ubuntu 22.04 libbpf: prog 'tc_packet_func_fast': BPF program load failed: Argument list too long HOT 4
- Loxilb SYNProxy support? HOT 1
- loxilb go code build error in BPFire chroot build environment HOT 1
- Support for proxy protocol v2
- Support for AWS multi-AZ HOT 3
- SCTP Load Balancing on Kubernetes HOT 1
- Fullnat support pool of local IP addresses assigned to local network interface as source IP HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from loxilb.