BBlack has uploaded a new change for review.
https://gerrit.wikimedia.org/r/281499
Change subject: VCL: remove all non-default between_bytes_timeout
......................................................................
VCL: remove all non-default between_bytes_timeout
As we start doing more stream traffic (we're streaming pass-traffic now, and
looking at cleaning up the streaming of large objects and chunked responses),
inter-cache BBT is becoming more important. In a streamed response, BBT even
on inter-cache fetches can cause failure due to small timing gaps during the
application-layer stream output. Looking at this rationally, it also doesn't
seem to make sense that we've set BBT to 2-4s values for inter-cache and
applayer defaults in the past when our connect and TTFB timeouts are longer. I
think we're better served reverting to the default (60s) here, especially since
BBT failures on streamed responses can have a "200 OK" status with truncated
content (as status/headers have already been streamed to the client when the
BBT timeout fails).
Bug: T131761
Bug: T128813
Change-Id: Ib2bd24861402cf9463a62b0be4403b8a005f5ccf
---
M modules/role/manifests/cache/maps.pp
M modules/role/manifests/cache/misc.pp
M modules/role/manifests/cache/text.pp
M modules/role/manifests/cache/upload.pp
M modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
5 files changed, 5 insertions(+), 16 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/99/281499/1
diff --git a/modules/role/manifests/cache/maps.pp
b/modules/role/manifests/cache/maps.pp
index f3f7e64..ea13299 100644
--- a/modules/role/manifests/cache/maps.pp
+++ b/modules/role/manifests/cache/maps.pp
@@ -21,7 +21,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '2s',
'max_connections' => 100000,
'probe' => 'varnish',
}
@@ -30,7 +29,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
'probe' => 'varnish',
}
@@ -45,7 +43,6 @@
'port' => 6533,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
},
},
diff --git a/modules/role/manifests/cache/misc.pp
b/modules/role/manifests/cache/misc.pp
index 5d3059c..39dc8da 100644
--- a/modules/role/manifests/cache/misc.pp
+++ b/modules/role/manifests/cache/misc.pp
@@ -14,7 +14,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '185s',
- 'between_bytes_timeout' => '2s',
'max_connections' => 100000,
'probe' => 'varnish',
}
@@ -23,7 +22,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '185s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 100,
'probe' => 'varnish',
}
@@ -32,7 +30,6 @@
'port' => 80,
'connect_timeout' => '5s',
'first_byte_timeout' => '185s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 100,
}
@@ -179,7 +176,7 @@
'dynamic' => 'no',
'type' => 'random',
'backends' => ['mendelevium.eqiad.wmnet'],
- 'be_opts' => merge($app_def_be_opts, { 'between_bytes_timeout' =>
'60s' })
+ 'be_opts' => $app_def_be_opts,
},
'ytterbium' => { # Gerrit
'dynamic' => 'no',
@@ -201,7 +198,7 @@
'dynamic' => 'no',
'type' => 'random',
'backends' => ['wdqs1001.eqiad.wmnet', 'wdqs1002.eqiad.wmnet'],
- 'be_opts' => merge($app_def_be_opts, { 'probe' => 'wdqs',
'between_bytes_timeout' => '60s' }),
+ 'be_opts' => merge($app_def_be_opts, { 'probe' => 'wdqs' }),
},
}
diff --git a/modules/role/manifests/cache/text.pp
b/modules/role/manifests/cache/text.pp
index 653dfb7..0cc7c59 100644
--- a/modules/role/manifests/cache/text.pp
+++ b/modules/role/manifests/cache/text.pp
@@ -23,7 +23,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '185s',
- 'between_bytes_timeout' => '2s',
'max_connections' => 100000,
'probe' => 'varnish',
}
@@ -32,7 +31,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '180s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
'probe' => 'varnish',
}
@@ -41,7 +39,6 @@
'port' => 80,
'connect_timeout' => '5s',
'first_byte_timeout' => '180s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
}
diff --git a/modules/role/manifests/cache/upload.pp
b/modules/role/manifests/cache/upload.pp
index a2a9ce1..6042499 100644
--- a/modules/role/manifests/cache/upload.pp
+++ b/modules/role/manifests/cache/upload.pp
@@ -21,7 +21,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '2s',
'max_connections' => 100000,
'probe' => 'varnish',
}
@@ -30,7 +29,6 @@
'port' => 3128,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
'probe' => 'varnish',
}
@@ -45,7 +43,6 @@
'port' => 80,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
}
},
@@ -57,7 +54,6 @@
'port' => 80,
'connect_timeout' => '5s',
'first_byte_timeout' => '35s',
- 'between_bytes_timeout' => '4s',
'max_connections' => 1000,
}
},
diff --git a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
index 55f05c0..6b7eb8b 100644
--- a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
+++ b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
@@ -103,7 +103,7 @@
# 'dc' => 'eqiad', # required if dynamic==yes
# 'service' => 'foo', # required if dynamic==yes
# 'backends' => [ "backend1", "backend2" ], # required: array or
single value
-# 'be_opts' => { # every option but 'probe' is required!
+# 'be_opts' => { # every option but 'probe' and
'between_bytes_timeout' is required!
# 'port' = 80,
# 'connect_timeout' = '2s',
# 'first_byte_timeout' = '4s',
@@ -139,7 +139,9 @@
.port = "<%= be_opts['port'] %>";
.connect_timeout = <%= be_opts['connect_timeout'] %>;
.first_byte_timeout = <%= be_opts['first_byte_timeout'] %>;
+<% if be_opts.key?('between_bytes_timeout') -%>
.between_bytes_timeout = <%= be_opts['between_bytes_timeout'] %>;
+<% end -%>
.max_connections = <%= be_opts['max_connections'] %>;
<% if be_opts.key?('probe') -%>
.probe = <%= be_opts['probe'] %>;
--
To view, visit https://gerrit.wikimedia.org/r/281499
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib2bd24861402cf9463a62b0be4403b8a005f5ccf
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits