From: Dave Taht <dave.taht@gmail.com>
To: "Bill Ver Steeg (versteb)" <versteb@cisco.com>
Cc: bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] bufferbloat effects on throughput
Date: Mon, 27 Apr 2015 10:28:22 -0700 [thread overview]
Message-ID: <CAA93jw6jfp7ROzNHe5QEf5kw8xQbRqxjQcL_JOZvMBT-qu+89A@mail.gmail.com> (raw)
In-Reply-To: <AE7F97DB5FEE054088D82E836BD15BE9319C33E1@xmb-aln-x05.cisco.com>
Too many people are also discounting the extra RTTs SSL negotiation
takes, and you got a couple other things wrong here.
On Mon, Apr 27, 2015 at 7:19 AM, Bill Ver Steeg (versteb)
<versteb@cisco.com> wrote:
> The other area in which throughput suffers is when one tries to do bunch of small transactions on a congested link. Think of a web page that does a series of HTTP gets of small pieces of data (let's say each object is about 10 packets in size). Let's say the gets are from different HTTP servers. The client has do a bunch of DNS resolutions (3+ RTT each),
DNS is usually a 10-20ms or shorter RTT to the ISP, and on a cache
hit, under 16ms on cheap hardware, locally.
namebench is a pretty good tool for looking at what it takes to
resolve DNS, and also of late I have been trying to get good
measurements of DNSSEC w/edns0 (which is looking very poor)
I would like it if WAY more people took a hard look at DNS traffic
characteristics, and I wasn't.
>open a bunch of TCP sessions (3+ RTT each),
+ SSL neg
>send a bunch of HTTP gets (1RTT each) and get the data (~2 RTT for the 10 packets), then close each session (4+ RTT). So that is about 15 RTTs per JPEG.
Historically connection close is transparent to the application. I
recall at least one ad service provider that actually ignored the
complex close state entirely and just blasted the data out, attempted
a close, and moved on.
Also the first real data packet contains the header info for the jpeg
which helps the web reflow engine.
So I would not count close as part of your calculations.
>For discussion, let's say the client fetches them sequentially rather than in parallel.
>I know, SPDY does this better - buts let's say this is a legacy client, or let's say that there are interdependencies and you have to fetch them sequentially.
>
> Let's compare the time it takes to display the web pages on a link with 50 ms of delay (20 ms speed of light and 30 ms of buffering) to the time it takes to display the web pages on a link with 200 ms of delay (20 ms speed of light and 30 ms of buffering). So, we have 300 RTTs before we display the completed web page. 300 * 50ms == 1.5 seconds. 300 * 200ms = 6 seconds. If we were to use a "big buffer tail drop" example with 2 second RTTs, we would get 10 minutes to show the page.
>
> As we all know, there is a lot of work on the client/server to make web surfing better. IW10, SPDY, pacing and the like all aim to reduce the number of RTTs. The buffer management algorithms aim to reduce the RTTs. They work together to provide better throughput when mice travers a congested link.
>
>
> Bill VerSteeg
>
> -----Original Message-----
> From: bloat-bounces@lists.bufferbloat.net [mailto:bloat-bounces@lists.bufferbloat.net] On Behalf Of Toke Høiland-Jørgensen
> Sent: Monday, April 27, 2015 9:01 AM
> To: Paolo Valente
> Cc: bloat
> Subject: Re: [Bloat] bufferbloat effects on throughput
>
> Paolo Valente <paolo.valente@unimore.it> writes:
>
>> One question: how can one be sure (if it is possible) that the
>> fluctuation of the throughput of a TCP flow on a given node is caused
>> by bufferbloat issues in the node, and not by other factors (such as,
>> e.g., systematic drops in some other nodes along the path followed by
>> the flow, with the drops possibly even caused by different reasons
>> than bufferbloat)?
>
> You can't, and it might. However, if you measure a performance degradation that goes away when the link is idle, consider that a hint... :)
>
> -Toke
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
--
Dave Täht
Open Networking needs **Open Source Hardware**
https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67
next prev parent reply other threads:[~2015-04-27 17:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-27 8:59 Paolo Valente
2015-04-27 9:20 ` Toke Høiland-Jørgensen
2015-04-27 12:01 ` Paolo Valente
2015-04-27 12:13 ` Toke Høiland-Jørgensen
2015-04-27 12:45 ` Paolo Valente
2015-04-27 13:01 ` Toke Høiland-Jørgensen
2015-04-27 14:19 ` Bill Ver Steeg (versteb)
2015-04-27 17:28 ` Dave Taht [this message]
2015-04-27 19:51 ` Bill Ver Steeg (versteb)
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
List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw6jfp7ROzNHe5QEf5kw8xQbRqxjQcL_JOZvMBT-qu+89A@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=versteb@cisco.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