From: Rick Jones <rick.jones2@hp.com>
To: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: David Miller <davem@davemloft.net>,
alex@sectorb.msk.ru, netdev@vger.kernel.org
Subject: Re: [PATCH][RFC] Re: high latency with TCP connections
Date: Fri, 22 Sep 2006 10:15:47 -0700 [thread overview]
Message-ID: <45141A43.8020306@hp.com> (raw)
In-Reply-To: <20060922134642.GA10175@ms2.inr.ac.ru>
Alexey Kuznetsov wrote:
> Hello!
>
>
>>transactions to data segments is fubar. That issue is also why I wonder
>>about the setting of tcp_abc.
>
>
> Yes, switching ABC on/off has visible impact on amount of segments.
> When ABC is off, amount of segments is almost the same as number of
> transactions. When it is on, ~1.5% are merged. But this is invisible
> in numbers of throughput/cpu usage.
Hmm, that would seem to suggest that for "new" the netperf/netserver
were being fast enough that the code didn't perceive the receipt of
back-to-back sub-MSS segments? (Is that even possible once -b is fairly
large?) Otherwise, with new I would have expected the segment count to
be meaningfully > than the transaction count?
>
> That' numbers:
>
> 1Gig link. The first column is "b". - separates runs of netperf
> in backward direction.
>
> Run #1. One host is slower.
>
> old,abc=0
> new,abc=0
> new,abc=1
> old,abc=1
>
> 2 23652.00 6.31 21.11 10.665 8.924
> 23622.16 6.47 21.01 10.951 8.893
> 23625.05 6.21 21.01 10.512 8.891
> 23725.12 6.46 20.31 10.898 8.559
> -
> 23594.87 21.90 6.44 9.283 10.912
> 23631.52 20.30 6.36 8.592 10.766
> 23609.55 21.00 6.26 8.896 10.599
> 23633.75 21.10 5.44 8.929 9.206
>
> 4 36349.11 8.71 31.21 9.584 8.585
> 36461.37 8.65 30.81 9.492 8.449
> 36723.72 8.22 31.31 8.949 8.526
> 35801.24 8.58 30.51 9.589 8.521
> -
> 35127.34 33.80 8.43 9.621 9.605
> 36165.50 30.90 8.48 8.545 9.381
> 36201.45 31.10 8.31 8.592 9.185
> 35269.76 30.00 8.58 8.507 9.732
>
> 8 41148.23 10.39 42.30 10.101 10.281
> 41270.06 11.04 31.31 10.698 7.585
> 41181.56 5.66 48.61 5.496 11.803
> 40372.37 9.68 56.50 9.591 13.996
> -
> 40392.14 47.00 11.89 11.637 11.775
> 40613.80 36.90 9.16 9.086 9.019
> 40504.66 53.60 7.73 13.234 7.639
> 40388.99 48.70 11.93 12.058 11.814
>
> 16 67952.27 16.27 43.70 9.576 6.432
> 68031.40 10.56 53.70 6.206 7.894
> 67777.95 12.81 46.90 7.559 6.920
> 67814.41 16.13 46.50 9.517 6.857
> -
> 68031.46 51.30 11.53 7.541 6.781
> 68044.57 40.70 8.48 5.982 4.986
> 67808.13 39.60 15.86 5.840 9.355
> 67818.32 52.90 11.51 7.801 6.791
>
> 32 90445.09 15.41 99.90 6.817 11.045
> 90210.34 16.11 100.00 7.143 11.085
> 90221.84 17.31 98.90 7.676 10.962
> 90712.78 18.41 99.40 8.120 10.958
> -
> 89155.51 99.90 12.89 11.205 5.782
> 90058.54 99.90 16.16 11.093 7.179
> 90092.31 98.60 15.41 10.944 6.840
> 88688.96 99.00 17.59 11.163 7.933
>
> 64 89983.76 13.66 100.00 6.071 11.113
> 90504.24 17.54 100.00 7.750 11.049
> 92043.36 17.44 99.70 7.580 10.832
> 90979.29 16.01 99.90 7.038 10.981
> -
> 88615.27 99.90 14.91 11.273 6.729
> 89316.13 99.90 17.28 11.185 7.740
> 90622.85 99.90 16.81 11.024 7.420
> 89084.85 99.90 17.51 11.214 7.861
>
> Run #2. Slower host is replaced with better one. ABC=0.
> No runs in backward directions.
>
> new
> old
>
> 2 24009.73 8.80 6.49 3.667 10.806
> 24008.43 8.00 6.32 3.334 10.524
> 4 40012.53 18.30 8.79 4.574 8.783
> 39999.84 19.40 8.86 4.851 8.857
> 8 60500.29 26.30 12.78 4.348 8.452
> 60397.79 26.30 11.73 4.355 7.769
> 16 69619.95 39.80 14.03 5.717 8.063
> 70528.72 24.90 14.43 3.531 8.184
> 32 132522.01 53.20 21.28 4.015 6.424
> 132602.93 57.70 22.59 4.351 6.813
> 64 145738.83 60.30 25.01 4.138 6.865
> 143129.55 73.20 24.19 5.114 6.759
> 128 148184.21 69.70 24.96 4.704 6.739
> 148143.47 71.00 25.01 4.793 6.753
> 256 144798.91 69.40 25.01 4.793 6.908
> 144086.01 73.00 24.61 5.067 6.832
>
> Frankly, I do not see any statistically valid correlations.
Does look like it jumps-around quite a bit - for example the run#2 with
-b 16 had the CPU util all over the map on the netperf side. That
wasn't by any chance an SMP system?
>>that "linux" didn't seem to be doing the same thing. Hence my tweaking
>>when seeing this patch come along...]
>
>
> netperf does not catch this. :-)
Nope :( One of these days.... I need to teach netperf how to extract
TCP statistics from as many platforms as possible. Meantime it relies
as always on the kindness of benchmarkers :) (My appologies to Tennesee
Williams :)
> Even with this patch linux does not ack each second segment dumbly,
> it waits for some conditions, mostly read() emptying receive queue.
Good. HP-UX is indeed dumb about this, but I'm assured it will be
changing. I forget what Solaris does in this situation - I thought I
looked a while ago but cannot recall the result.
> To model this it is necessary to insert some gaps between
> bursted segments or to use slow network.
>
> I have no doubts it is easy to model a situation when we send
> lots of useless ACKs. F.e. inserting 20ms gaps between requests.
> To see effect on thoughput/cpu, we could start enough of connections,
> doing the same thing.
Adding --enable-intervals might work there. I don't recall how well it
gets along with --enable-burst though, and you have already made lots of
runs as it is.
rick
next prev parent reply other threads:[~2006-09-22 17:15 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-30 10:07 high latency with TCP connections Alexander Vodomerov
2006-08-30 17:27 ` Stephen Hemminger
2006-08-30 21:39 ` David Miller
2006-08-30 22:04 ` Stephen Hemminger
2006-08-30 23:00 ` Rick Jones
2006-08-31 8:14 ` Alexander Vodomerov
2006-08-31 15:44 ` Sridhar Samudrala
2006-08-31 18:22 ` Kelly Burkhart
2006-08-31 19:40 ` Rick Jones
2006-08-31 21:08 ` Ian McDonald
2006-08-31 21:46 ` Alexey Kuznetsov
2006-08-31 22:14 ` Stephen Hemminger
2006-08-31 22:44 ` David Miller
2006-08-31 23:29 ` Alexey Kuznetsov
2006-08-31 23:57 ` David Miller
2006-09-01 3:23 ` Stephen Hemminger
2006-09-01 3:39 ` Ian McDonald
2006-09-01 6:23 ` David Miller
2006-09-01 9:44 ` Pekka Savola
2006-09-01 9:49 ` David Miller
2006-09-01 9:47 ` Alexey Kuznetsov
2006-09-01 11:00 ` Evgeniy Polyakov
[not found] ` <20060901090046.69b3d583@localhost.localdomain>
2006-09-01 20:55 ` [PATCH] tcp: turn ABC off Stephen Hemminger
2006-09-02 7:22 ` Evgeniy Polyakov
2006-09-02 8:10 ` Herbert Xu
2006-09-04 9:10 ` high latency with TCP connections Alexey Kuznetsov
2006-09-04 16:00 ` [PATCH][RFC] " Alexey Kuznetsov
2006-09-05 17:55 ` Rick Jones
2006-09-05 22:13 ` Alexey Kuznetsov
2006-09-18 7:39 ` David Miller
2006-09-18 17:11 ` Rick Jones
2006-09-18 20:41 ` Alexey Kuznetsov
2006-09-18 21:24 ` Rick Jones
2006-09-18 22:51 ` Alexey Kuznetsov
2006-09-19 0:37 ` Rick Jones
2006-09-22 13:46 ` Alexey Kuznetsov
2006-09-22 17:15 ` Rick Jones [this message]
2006-09-18 7:31 ` David Miller
2006-09-18 10:37 ` Alexey Kuznetsov
2006-09-18 13:56 ` David Miller
2006-09-20 22:44 ` Stephen Hemminger
2006-09-20 22:47 ` David Miller
2006-09-20 22:55 ` Stephen Hemminger
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=45141A43.8020306@hp.com \
--to=rick.jones2@hp.com \
--cc=alex@sectorb.msk.ru \
--cc=davem@davemloft.net \
--cc=kuznet@ms2.inr.ac.ru \
--cc=netdev@vger.kernel.org \
/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).