Re: Clients, Nagle and net test

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

 



Hey,

On Tue, Dec 22, 2015 at 11:03:47AM -0500, Frediano Ziglio wrote:
> Hi,
>   today I was trying to do some (quick) tests for the Glib code trying to play with
> bandwidth and latency.
> 
> I noted that the net test was giving very strange results. With a delay of 1ms and a
> bandwidth of 400kb/s was returning 325ms as roundtrip and a very high bandwidth :(
> 
> After a bit of digging I realized that net test is done sending 3 pings (using spice
> protocol)
> - 1 ping (warmup) of 0 byte data
> - 1 ping (latency) of 0 bytes
> - 1 ping (bandwidth) or 250 kb
> Ping messages contains a timestamp (usec) returned verbatim from the client.
> Doing a strace I noted that all ping replies were returned at the same time.
> Taking into account that items are queued in the stream quite fast and that
> roundtrip is compiled using current time - timestamp from ping reply this make
> basically the roundtrip computation equal to the total roundtrip of all pings
> so code thinks that latency is high and bandwidth (computed as data per extra time
> after roundtrip) too.
> More strace, involving remote-viewer (Fedora 22 one) reveals that Nagle algorithm
> on the client is not disabled to client queue replies to socket but kernel send
> after all replies are queued giving the huge roundtrip!
> So at least while sending the ping replies Nagle algorithm should be disabled.
> I'm trying to mitigate this issue using Linux tcp information (see TCP_INFO on
> tcp(7) man page), the tcpi_rtt field. If a bit higher (133ms instead of 1ms)
> but better than 325ms.
> 
> Now, I'm not that used to client code and just enabling this flag could lead
> to excessive network packets sent to the server (potentially every byte).
> Somebody skilled with client code?

Client and server are both setting TCP_NODELAY, which should disable the
Nagle algorithm, so maybe the delays are caused by something else?

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]