From: Dan Noe <dnoe@limebrokerage.com>
To: Rick Jones <rick.jones2@hp.com>
Cc: John Heffner <johnwheffner@gmail.com>, netdev@vger.kernel.org
Subject: Re: Detecting TCP loss on the receiving side?
Date: Thu, 10 Jul 2008 18:15:42 -0400 [thread overview]
Message-ID: <48768A0E.3010904@limebrokerage.com> (raw)
In-Reply-To: <48767D07.2000003@hp.com>
On 07/10/2008 05:20 PM, Rick Jones wrote:
> John Heffner wrote:
>> Looking for loss at the receiver is a bit tricky. It doesn't look
>> like struct tcp_info has enough information to do this easily. If you
>> are able to install a custom kernel on this machine, the Web100 patch
>> would be able to gather enough information to figure it out. The
>> basic idea would be to look for a difference between RcvNxt and
>> RcvMax.
>
> And even then it depends on the connections having multiple segments
> in flight at one time. Although I suppose that cuts both ways and
> affects the tracing too, but perhaps not to the same extent.
>
> Dan - seeing "brokerage" in your email and worries about latency makes
> me think that your app(s) are pushing around lots of small messages -
> are those spread-out across lots of connections, or are they
> consolidated into a rather smaller number of connections? Also, what
> is the magnitude of the latency in these latency events?
Yeah, without going into too much detail: We are getting data from a
market via a TCP connection. Usually this is one or two connections.
It is dominated by receiving traffic (from peer). The message rates can
be very bursty, and the size is small. The links are usually short and
fairly fat - metro fast Ethernet, for example, and the geographic
latency is low. We believe loss is occurring but we're trying to
determine how often and where. The data comes on fairly fast and a loss
event (even with fast retransmit) means things piling up in queues and a
sudden flood of data coming into userspace (which is a pretty serious
latency hit on this scale).
More and more places are moving to multicast (which has its own quirks)
but some are still using TCP :)
Cheers,
Dan
next prev parent reply other threads:[~2008-07-10 22:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-10 19:44 Detecting TCP loss on the receiving side? Dan Noé
2008-07-10 20:11 ` Rick Jones
2008-07-10 20:19 ` Dan Noé
2008-07-10 21:05 ` John Heffner
2008-07-10 21:20 ` Rick Jones
2008-07-10 21:34 ` John Heffner
2008-07-10 22:15 ` Dan Noe [this message]
2008-07-10 21:14 ` Rick Jones
2008-07-13 18:52 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48768A0E.3010904@limebrokerage.com \
--to=dnoe@limebrokerage.com \
--cc=johnwheffner@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=rick.jones2@hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).