[erlang-questions] UDP buffers and packet loss

pablo platt pablo.platt@REDACTED
Mon Nov 21 09:49:12 CET 2016


@Raimo, I'll try increasing read_packets.
How does increasing read_packets work compared to increasing recbuf?
Both have the same effect only read_packets keep unhanded packets as Erlang
messages while recbuf keep them as raw data?

Do you have a suggestion how to check the effect of increasing it?
How do I know if UDP packets where dropped on the network or on the buffer
because my Erlang process didn't process them fast enough?

@Andreas
How did you compare gen_socket with gen_udp?
Before going the nif way, I want to be sure that it improves my throughput.
Why a nif can handle more UDP packets than gen_udp? I thought that the
Erlang code should be the bottleneck in both cases.


On Mon, Nov 21, 2016 at 10:29 AM, Andreas Schultz <aschultz@REDACTED> wrote:

> On 11/19/2016 08:51 PM, Max Lapshin wrote:
>
>> ah, it is receive?
>>
>> We had to write special port driver to receive 500 mbit/s of UDP video
>> multicast
>>
>
> With [1] I'm able to forward (receive and send) 500mbit/s on a single
> core. The
> interface itself is a port driver combined with a nif and works only on
> Linux
> (and maybe OSX), but the actual forwarding code is pure Erlang [2].
>
> Andreas
>
> [1]: https://github.com/travelping/gen_socket
> [2]: https://github.com/travelping/gtp_u_edp/blob/master/src/gtp_
> u_edp_forwarder.erl
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161121/a3f9f058/attachment.htm>


More information about the erlang-questions mailing list