prometheus/config
Bryan Boreham 1ed94142fc
remote-write: slow down retries to avoid DDOS (#9634)
* remote-write: slow down retries to avoid DDOS

Increase the default max retry time from 100ms to 5 seconds.

Remote write calls are retried after a recoverable error such as the
back-end returning 500. Prometheus waits the minimum time and retries,
then doubles the wait on each subsequent retry until the maximum is
reached.

If some data is still getting through, remote-write will also increase
shards, and the default maximum is 200. 200 shards sending every 100ms
is 20 calls per second, to a back-end that is already in trouble.

5 seconds was chosen to match the default BatchSendDeadline: if we can
afford to wait that long for no response, then we can wait the same time
to retry. We will reach 5 seconds after 9 successive failures.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* Update config doc for max_backoff change

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2021-11-09 14:08:24 -08:00
..
testdata Enable tls_config in oauth2 (#9550) 2021-10-20 23:10:18 +02:00
config.go remote-write: slow down retries to avoid DDOS (#9634) 2021-11-09 14:08:24 -08:00
config_default_test.go Add new Go build tags. 2021-08-27 10:24:14 +02:00
config_test.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
config_windows_test.go Invert service discovery dependencies (#7701) 2020-08-20 13:48:26 +01:00