aboutsummaryrefslogtreecommitdiff
path: root/plugin/forward/proxy_test.go
diff options
context:
space:
mode:
authorGravatar Tobias Schmidt <tobidt@gmail.com> 2018-06-21 12:40:19 +0200
committerGravatar Miek Gieben <miek@miek.nl> 2018-06-21 11:40:19 +0100
commit422aec5f5fc9d1f4d4017357f86098ec34eb1676 (patch)
tree3055bc37990f1665c17944e8eb08d7620380657e /plugin/forward/proxy_test.go
parente3534205c7c3a89b09c9a9e2aca1a2159eb9ecde (diff)
downloadcoredns-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.go2
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) }()