Re: Expected SCTP DATA chunk per second performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 2. Mar 2020, at 13:37, Harald Welte <laforge@xxxxxxxxxxxx> wrote:
> 
> Hi Michael,
> 
> On Mon, Mar 02, 2020 at 12:41:57PM +0100, Michael Tuexen wrote:
>>> In wireshark, I can see that up to 9 DATA chunks are aggregated into each SCTP
>>> packet.  However, it typically takes the stack 203-201ms to send a SACK to each
>> 
>> That looks suspicious. It seems this is the 200ms delayed ACK timer. That is fine.
>> The question is why the sender is not sending more? I guess you can work around this
>> issue by disabling the Nagle Algorithm:
>> https://tools.ietf.org/html/rfc6458#section-8.1.5
>> Enable SCTP_NODELAY on the sender side. Does that fix the issue?
>> However, Nagle should not step into the game here...
> 
> I was thinking of SCTP_NODELAY before, but didn't do it as I thought it
> would only impact the lower latency bound in sporadic communication, but
> not throttle the transmit message rate?
> 
> I've just tried your suggestion, and indeed:
> 
> with SCTP_NODELAY=0
> 10000 DATA chunks of 150 bytes each in 19.59 seconds: 510.53 DATA chunks per second
> 
> with SCTP_NODELAY=1
> 10000 DATA chunks of 150 bytes each in  0.26 seconds: 38360.42 DATA chunks per second
> 
> So AFAICT there now is a work-around... but still I assume there is a bug in lksctp
> if it throttles the overall message rate down to 1.3% of what it could
> be when Nagle is enabled?
I consider it a bug. Nagle normally is implemented by not sending small packets.
>From the numbers you provided, I guess the SCTP packets are about 1500 bytes. But
I guess Linux has an MTU on the loopback interface which is much larger.
So I guess one part of the code thinks the packet is full (you can't put another
chunk into it), so send it. Another part thinks the packet is not full, since the
MTU is much larger.

Similar bugs where in the FreeBSD stack. However, I'm not familiar with the Linux
code base. Someone else has to chime in. But it shouldn't be hard to find and fix.

Best regards
Michael
> 
> Regards,
> 	Harald
> 
> -- 
> - Harald Welte <laforge@xxxxxxxxxxxx>           http://laforge.gnumonks.org/
> ============================================================================
> "Privacy in residential applications is a desirable marketing option."
>                                                  (ETSI EN 300 175-7 Ch. A6)




[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux