-
Notifications
You must be signed in to change notification settings - Fork 132
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
Packets lost at a high rate #72
Comments
As for potential code changes that can deal with such high traffic - maybe multithreading, or sendmmsg (#62)? |
@sleinen Could you weigh in on this? I'm trying to use this package for a stream of real time sensor data and appear to be getting random packet loss at different receiving nodes. Would love to know the limitations of this package at higher transmission rates. |
The main limitation of the package is that it uses regular UDP datagram sockets and basic system calls ( There are some open issues concerning possible performance improvements through the use of more modern system calls, e.g. #61 and #62, but I don't think anybody is working on implementing those. This application might also be a nice excuse for someone to delve into BPF/XDP packet processing in the kernel—this would remove the system call overhead altogether. Another alternative platform to re-implement this simple tool from scratch could be VPP/FD.io, which makes it relatively easy to benefit from optimized user-more networking drivers such as DPDK. |
Hello. We're using samplicator to copy statsd metric traffic (UDP packets) to two destinations. My question is, should we expect that samplicator fails to copy 100% of the traffic to every destination if there is a high packet rate?
In our setup, samplicator listens on port 8125, and forwards to ports 8124 and 9125. Here are some outputs for 5 minutes worth of pcaps on each of the 3 ports. The traffic going into samplicator is roughly 2x that of what is going into each destination:
Samplicator port, 5 minutes of packets:
Destination 1:
Destination 2:
The size of the pcap files also show the difference in captured packets (largest file is the samplicator port, two smaller ones are the two destinations):
Our next plan is to run some more synthetic load tests to find out at exactly what packet rate does samplicator break down and stop being able to send 100% of traffic.
It also that samplicator is at 98+% CPU usage throughout (monitored via htop).
The text was updated successfully, but these errors were encountered: