From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Latency target curiosity
Date: Thu, 7 May 2020 09:11:07 +0000 [thread overview]
Message-ID: <DCCA0D20-E9F0-453D-BE20-2C27043309C2@darbyshire-bryant.me.uk> (raw)
In-Reply-To: <EEADF1AF-4471-4A94-BB2E-5669A521B1B4@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2415 bytes --]
> On 7 May 2020, at 09:09, Jonathan Morton <chromatix99@gmail.com> wrote:
>
>> On 7 May, 2020, at 10:58 am, Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> wrote:
>>
>> A curiosity has arisen: I use diffserv4 mode on a 20Mbit egress link. Bulk tin has ‘capacity’ threshold of 1.2Mbit and because it’s a slow ’tin', the default target & interval values get overridden to 14.6ms and 109.6ms respectively. The 3 other tins are 5ms & 100ms defaults.
>>
>> I have a backup job that bulk uploads 5 simultaneous flows to Onedrive. The sparse_delay, average_delay & peak_delay figures settle on 32, 38 & 43 ms respectively with around 9 drops per second on that tin.
>>
>> I’m curious as to why the reported delays are over double the target latency?
>
> It's likely that there's a minimum cwnd in your sender's TCP stack, which may be as large as 4 segments. In Linux it is 2 segments. No matter how much congestion signalling is asserted, the volume of data in flight (including retransmissions of dropped packets) will always correspond to at least that minimum per flow. If the path is short, most of that volume will exists in queues instead of on the wire.
This is a Qnap NAS box running (a form of) Linux but to say I don’t trust the IP stack as being vanilla is an understatement. I’ve seen it do some really odd things when enabling ECN on egress…I don’t know if that’s a qnap or onedrive issue.
>
> Fortunately, backups are unlikely to suffer from a small amount of extra latency, and Cake will isolate their influence from other flows that may be more sensitive.
Absolutely! That’s why the traffic is in the Bulk tin, I don’t care about its ‘interactivity’, I just want the data transferred eventually :-) Cake does really well, I’ve had these backups running for days, maxing out the line but I simply couldn’t tell. I can also reasonably reliably classify facetime calls, so I put those in ‘Video’, so just for fun, whilst the other half was engaged on a 2 hour(!) facetime call with family I started backups, ran speed tests etc to try to disturb that call. Cake just kept that video call running smoothly all the time, brilliant! I know that’s more of a tin isolation test rather than a flow isolation test but it’s still great!
Cheers,
Kevin D-B
gpg: 012C ACB2 28C6 C53E 9775 9123 B3A2 389B 9DE2 334A
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2020-05-07 9:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-07 7:58 Kevin Darbyshire-Bryant
2020-05-07 8:09 ` Jonathan Morton
2020-05-07 9:11 ` Kevin Darbyshire-Bryant [this message]
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/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DCCA0D20-E9F0-453D-BE20-2C27043309C2@darbyshire-bryant.me.uk \
--to=kevin@darbyshire-bryant.me.uk \
--cc=cake@lists.bufferbloat.net \
--cc=chromatix99@gmail.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