From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 5EDFF3BA8E for ; Thu, 12 Oct 2017 14:51:04 -0400 (EDT) Received: by mail-wm0-x235.google.com with SMTP id u138so15618960wmu.5 for ; Thu, 12 Oct 2017 11:51:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=PUETLlAuMnYYDZrbmV4qZdiX5xrdILH/9Ja+2HbUrHk=; b=RXKX5md26dxNrpXpJSm7WrOx0nl6t0FdBtI5RzbEt1MYw1m6AP3UW/BhCRuIPFK1VI kXKA2NsSn7PHERLXsnIzDJ+hfNmNVy4ZNZagxyQSmFhjzkoHuKum8eBSP6hvHDphomsc Sg8015P+k1JGKaG7nG9HX2/2YgvFt0hz2AC7k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=PUETLlAuMnYYDZrbmV4qZdiX5xrdILH/9Ja+2HbUrHk=; b=texesNAt79XXXy41GYrVnCuCCMtw24NEScKRI1VE4rEQsX11khe4YU9ZJzQ79a6LcJ 6mjdoyHlsiOkXMqNvn2Qt3cx0ulY8zaHjYyE0BDs9MGxSZJM2vddL9zHGBw2uJF+ZUDA UKz+Axs5xTBUBZmzRVro6wTMn95vf3L/jCFY58scNYuMsM+KC5nrvRKYMLQfEuWTtPb/ 9Zvmwkdu/Bq+vdLo7sQdy8C8tiLqjmn43cLPGYRsKLKCzq9kChNXTEHJImc9glj8r/W2 M6iizZUccJ/G0avwh5pV44A4IRqSnC/0i1tX5L6znVArGPeAiYSKHiYqZ+UXe9PHXh2u ZV5Q== X-Gm-Message-State: AMCzsaUdREvOM6sc2TsRCUVEXZY4bjiyfoBu0Lk+uJjqU7MUJCuz67Em TjUXVTZDWRQngkCfAcX6Q/xUPKgAzan6Dawp54ScGQ== X-Google-Smtp-Source: AOwi7QB9XsPsyOQBSUw7bzcFdPWIO2Cg2AlaXHwaD7sJxs3mBRaadnJPWPaKhq8+EmbI5z78ZQ9yuPRj0O7ElNOAHFQ= X-Received: by 10.80.168.129 with SMTP id k1mr3995868edc.109.1507834263106; Thu, 12 Oct 2017 11:51:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.80.204.220 with HTTP; Thu, 12 Oct 2017 11:51:02 -0700 (PDT) In-Reply-To: <877ew0bwb3.fsf@toke.dk> References: <1507581711.45638427@apps.rackspace.com> <20171011233056.3634daea@redhat.com> <877ew0bwb3.fsf@toke.dk> From: Bob McMahon Date: Thu, 12 Oct 2017 11:51:02 -0700 Message-ID: To: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Jesper Dangaard Brouer , make-wifi-fast@lists.bufferbloat.net, Johannes Berg Content-Type: multipart/alternative; boundary="94eb2c195950a22e14055b5e05e9" Subject: Re: [Make-wifi-fast] less latency, more filling... for wifi X-BeenThere: make-wifi-fast@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Oct 2017 18:51:04 -0000 --94eb2c195950a22e14055b5e05e9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks Toke. Let me look into this. Is there packet loss during your tests? Can you share the output of the client and server per the error scenario? With iperf 2 there is no TCP test exchange rather UDP test information is derived from packets in flight. The server determines a UDP test is finished by detecting a negative sequence number in the payload. In theory, this should separate UDP tests. The server detects a new UDP stream is by receiving a packet from a new source socket. If the packet carrying the negative sequence number is lost then summing across "tests" would be expected (even though not desired) per the current design and implementation. We intentionally left this as is as we didn't want to change the startup behavior nor require the network support TCP connections in order to run a UDP test. Since we know UDP is unreliable, we do control both client and server over ssh pipes, and perform summing in flight per the interval reporting. Operating system signals are used to kill the server. The iperf sum and final reports are ignored. Unfortunately, I can't publish this package with iperf 2 for both technical and licensing reasons. There is some skel= eton code in Python 3.5 with asyncio that may be of use. A next step here is to add support for pandas , and possibly some control chart techniques (both single and multivariate ) for both regressions and outlier detection. On Thu, Oct 12, 2017 at 1:32 AM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: > Jesper Dangaard Brouer writes: > > > If I use the --realtime option, I did run into issues where the server > > thread would busypoll 100% after e.g. a client stopped a test > > prematurely. And I had to kill it with -9. > > Sort of related (but not specific to the new features), I've had to > add a restart of the iperf server to my test scripts. If I run more than > one (UDP) test against the same server instance, it would report back > the average throughput over all tests, including any idle period > in-between. Which is obviously not terribly useful... :) > > -Toke > --94eb2c195950a22e14055b5e05e9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks Toke.=C2=A0 Let me look into this.=C2=A0 Is there p= acket loss during your tests?=C2=A0 =C2=A0Can you share the output of the c= lient and server per the error scenario?

With iperf 2 there is no TC= P test exchange rather UDP test information is derived from packets in flig= ht.=C2=A0 The server determines a UDP test is finished by detecting a negat= ive sequence number in the payload.=C2=A0 In theory, this should separate U= DP tests.=C2=A0 =C2=A0The server detects a new UDP stream is by receiving a= packet from a new source socket.=C2=A0 If=C2=A0 the packet carrying the ne= gative sequence number is lost then summing across "tests" would = be expected (even though not desired) per the current design and implementa= tion.=C2=A0 We intentionally left this as is as we didn't want to chang= e the startup behavior nor require the network support TCP connections in o= rder to run a UDP test.

Since we know UDP is unreliable, we do contr= ol both client and server over ssh pipes, and perform summing in flight per= the interval reporting.=C2=A0 =C2=A0Operating system signals are used to k= ill the server.=C2=A0 =C2=A0 The iperf sum and final reports are ignored.= =C2=A0 =C2=A0Unfortunately, I can't publish this package with iperf 2 f= or both technical and licensing reasons.=C2=A0 =C2=A0There is some sk= eleton code in Python 3.5 with asyncio=C2=A0that may be of use.=C2=A0 = =C2=A0A next step here is to add support for pandas, and possibly some control chart techniques (both single and = = multivariate) for both regressions and outlier detection.

=

On Thu, Oct 12, 2= 017 at 1:32 AM, Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk> w= rote:
Jesper Dangaard Br= ouer <brouer@redhat.com> wri= tes:

> If I use the --realtime option, I did run into issues where the server=
> thread would busypoll 100% after e.g. a client stopped a test
> prematurely. And I had to kill it with -9.

Sort of related (but not specific to the new features), I've had= to
add a restart of the iperf server to my test scripts. If I run more than one (UDP) test against the same server instance, it would report back
the average throughput over all tests, including any idle period
in-between. Which is obviously not terribly useful... :)

-Toke

--94eb2c195950a22e14055b5e05e9--