BBlack has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/386939 )
Change subject: Varnish: puppetize per-backend between_bytes_timeout ...................................................................... Varnish: puppetize per-backend between_bytes_timeout This sets what is already the default value everywhere, so it will trigger VCL reloads but is a functional no-op. This will make it simpler, if the need arises, to quickly puppet-deploy reduced limits for all 3 timeouts (connect, first_byte, between_bytes) should the need arise (again) to limit the damaging impacts of a minority of super-slow request executions at a backend. Bug: T179156 Change-Id: I9b499411b47011f4fd545d27f13b26123fd52347 --- M hieradata/role/common/cache/canary.yaml M hieradata/role/common/cache/misc.yaml M hieradata/role/common/cache/text.yaml M hieradata/role/common/cache/upload.yaml M modules/profile/manifests/cache/misc.pp M modules/profile/manifests/cache/text.pp M modules/profile/manifests/cache/upload.pp M modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb 8 files changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/39/386939/1 diff --git a/hieradata/role/common/cache/canary.yaml b/hieradata/role/common/cache/canary.yaml index fbc8b97..ca89252 100644 --- a/hieradata/role/common/cache/canary.yaml +++ b/hieradata/role/common/cache/canary.yaml @@ -26,6 +26,7 @@ port: 80 connect_timeout: '5s' first_byte_timeout: '180s' + between_bytes_timeout: '60s' max_connections: 0 cache::app_directors: appservers: diff --git a/hieradata/role/common/cache/misc.yaml b/hieradata/role/common/cache/misc.yaml index e1b8c71..1d6d0c3 100644 --- a/hieradata/role/common/cache/misc.yaml +++ b/hieradata/role/common/cache/misc.yaml @@ -25,6 +25,7 @@ port: 80 connect_timeout: '5s' first_byte_timeout: '185s' + between_bytes_timeout: '60s' max_connections: 100 cache::app_directors: bromine: diff --git a/hieradata/role/common/cache/text.yaml b/hieradata/role/common/cache/text.yaml index abf40fc..f633981 100644 --- a/hieradata/role/common/cache/text.yaml +++ b/hieradata/role/common/cache/text.yaml @@ -23,6 +23,7 @@ port: 80 connect_timeout: '5s' first_byte_timeout: '180s' + between_bytes_timeout: '60s' max_connections: 1000 cache::app_directors: appservers: diff --git a/hieradata/role/common/cache/upload.yaml b/hieradata/role/common/cache/upload.yaml index f7c40d8..322b5c1 100644 --- a/hieradata/role/common/cache/upload.yaml +++ b/hieradata/role/common/cache/upload.yaml @@ -24,6 +24,7 @@ port: 80 connect_timeout: '5s' first_byte_timeout: '35s' + between_bytes_timeout: '60s' max_connections: 10000 cache::app_directors: swift: diff --git a/modules/profile/manifests/cache/misc.pp b/modules/profile/manifests/cache/misc.pp index e589a51..f6bc8df 100644 --- a/modules/profile/manifests/cache/misc.pp +++ b/modules/profile/manifests/cache/misc.pp @@ -24,6 +24,7 @@ 'port' => 3128, 'connect_timeout' => '5s', 'first_byte_timeout' => '185s', + 'between_bytes_timeout' => '60s', 'max_connections' => 100000, 'probe' => 'varnish', } @@ -32,6 +33,7 @@ 'port' => 3128, 'connect_timeout' => '5s', 'first_byte_timeout' => '185s', + 'between_bytes_timeout' => '60s', 'max_connections' => 100, 'probe' => 'varnish', } diff --git a/modules/profile/manifests/cache/text.pp b/modules/profile/manifests/cache/text.pp index d85727b..1878ce2 100644 --- a/modules/profile/manifests/cache/text.pp +++ b/modules/profile/manifests/cache/text.pp @@ -34,6 +34,7 @@ 'port' => 3128, 'connect_timeout' => '5s', 'first_byte_timeout' => '185s', + 'between_bytes_timeout' => '60s', 'max_connections' => 100000, 'probe' => 'varnish', } @@ -42,6 +43,7 @@ 'port' => 3128, 'connect_timeout' => '5s', 'first_byte_timeout' => '180s', + 'between_bytes_timeout' => '60s', 'max_connections' => 0, 'probe' => 'varnish', } diff --git a/modules/profile/manifests/cache/upload.pp b/modules/profile/manifests/cache/upload.pp index 834b9e9..5fe6a2a 100644 --- a/modules/profile/manifests/cache/upload.pp +++ b/modules/profile/manifests/cache/upload.pp @@ -24,6 +24,7 @@ 'port' => 3128, 'connect_timeout' => '5s', 'first_byte_timeout' => '35s', + 'between_bytes_timeout' => '60s', 'max_connections' => 100000, 'probe' => 'varnish', } @@ -32,6 +33,7 @@ 'port' => 3128, 'connect_timeout' => '5s', 'first_byte_timeout' => '35s', + 'between_bytes_timeout' => '60s', 'max_connections' => 10000, 'probe' => 'varnish', } diff --git a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb index 0549da2..9419e35 100644 --- a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb +++ b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb @@ -79,16 +79,18 @@ # 'port' = 80, # 'connect_timeout' = '2s', # 'first_byte_timeout' = '4s', +# 'between_bytes_timeout' = '3s', # 'max_connections' = 100, # per-backend! # }, # }, # } # # -# @app_def_be_opts = { # exactly these 4 options supported/required +# @app_def_be_opts = { # exactly these 5 options supported/required # 'port' = 80, # 'connect_timeout' = '2s', # 'first_byte_timeout' = '4s', +# 'between_bytes_timeout' = '3s', # 'max_connections' = 100, # per-backend! # } # @app_directors = { # not always defined (e.g. frontends, for now) @@ -103,6 +105,7 @@ # 'port' = 80, # 'connect_timeout' = '2s', # 'first_byte_timeout' = '4s', +# 'between_bytes_timeout' = '3s', # 'max_connections' = 100, # per-backend! # }, # 'probe' => { # optional probe @@ -140,6 +143,7 @@ .port = "<%= be_opts['port'] %>"; .connect_timeout = <%= be_opts['connect_timeout'] %>; .first_byte_timeout = <%= be_opts['first_byte_timeout'] %>; + .between_bytes_timeout = <%= be_opts['between_bytes_timeout'] %>; .max_connections = <%= be_opts['max_connections'] %>; .probe = varnish; } @@ -166,6 +170,7 @@ .port = "<%= be_opts['port'] %>"; .connect_timeout = <%= be_opts['connect_timeout'] %>; .first_byte_timeout = <%= be_opts['first_byte_timeout'] %>; + .between_bytes_timeout = <%= be_opts['between_bytes_timeout'] %>; .max_connections = <%= be_opts['max_connections'] %>; <%- if director.key?('probe') -%> .probe = { -- To view, visit https://gerrit.wikimedia.org/r/386939 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9b499411b47011f4fd545d27f13b26123fd52347 Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: BBlack <bbl...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits