mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	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.
This commit is contained in:
		
				
					committed by
					
						 Miek Gieben
						Miek Gieben
					
				
			
			
				
	
			
			
			
						parent
						
							e3534205c7
						
					
				
				
					commit
					422aec5f5f
				
			| @@ -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) }() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user