diff options
author | 2018-06-21 12:40:19 +0200 | |
---|---|---|
committer | 2018-06-21 11:40:19 +0100 | |
commit | 422aec5f5fc9d1f4d4017357f86098ec34eb1676 (patch) | |
tree | 3055bc37990f1665c17944e8eb08d7620380657e /plugin/forward/proxy_test.go | |
parent | e3534205c7c3a89b09c9a9e2aca1a2159eb9ecde (diff) | |
download | coredns-422aec5f5fc9d1f4d4017357f86098ec34eb1676.tar.gz coredns-422aec5f5fc9d1f4d4017357f86098ec34eb1676.tar.zst coredns-422aec5f5fc9d1f4d4017357f86098ec34eb1676.zip |
plugin/forward: Increase minimum read timeout to 200ms (#1889)
After several experiments at SoundCloud we found that the current
minimum read timeout of 10ms is too low. A single request against a
slow/unavailable authoritative server can cause all TCP connections to
get closed. We record a 50th percentile forward/proxy latency of <5ms,
and a 99th percentile latency of 60ms. Using a minimum timeout of 200ms
seems to be a fair trade-off between avoiding unnecessary high
connection churn and reacting to upstream failures in a timely manner.
This change also renames hcDuration to hcInterval to reflect its usage,
and removes the duplicated timeout constant to make code comprehension
easier.
Diffstat (limited to 'plugin/forward/proxy_test.go')
-rw-r--r-- | plugin/forward/proxy_test.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/plugin/forward/proxy_test.go b/plugin/forward/proxy_test.go index 234458b63..01e8ef6fd 100644 --- a/plugin/forward/proxy_test.go +++ b/plugin/forward/proxy_test.go @@ -27,7 +27,7 @@ func TestProxyClose(t *testing.T) { for i := 0; i < 100; i++ { p := NewProxy(s.Addr, nil) - p.start(hcDuration) + p.start(hcInterval) go func() { p.Connect(ctx, state, false, false) }() go func() { p.Connect(ctx, state, true, false) }() |