From f175b5a20f334d0914fbe52f1e8d880e3398dc50 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg Date: Mon, 26 Nov 2012 16:19:48 -0500 Subject: BUG-768 Texture fetches hit caps throttle and need more retries. Bumped the default retry limit up from 5 to 8 which gives up to 15 seconds more dwell time should the viewer get a 503 or other recoverable error on access. --- indra/llcorehttp/_httpinternal.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/llcorehttp/_httpinternal.h b/indra/llcorehttp/_httpinternal.h index 465e2036b3..14f744a9f1 100644 --- a/indra/llcorehttp/_httpinternal.h +++ b/indra/llcorehttp/_httpinternal.h @@ -111,7 +111,15 @@ const int HTTP_TRACE_MIN = HTTP_TRACE_OFF; const int HTTP_TRACE_MAX = HTTP_TRACE_CURL_BODIES; // Request retry limits -const int HTTP_RETRY_COUNT_DEFAULT = 5; +// +// At a minimum, retries need to extend past any throttling +// window we're expecting from central services. In the case +// of Linden services running through the caps routers, there's +// a five-second or so window for throttling with some spillover. +// We want to span a few windows to allow transport to slow +// after onset of the throttles and then recover without a final +// failure. Other systems may need other constants. +const int HTTP_RETRY_COUNT_DEFAULT = 8; const int HTTP_RETRY_COUNT_MIN = 0; const int HTTP_RETRY_COUNT_MAX = 100; -- cgit v1.2.3 From 4d65c754d6e20906770d8c84abf00b2dd7645d80 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg Date: Tue, 27 Nov 2012 18:09:01 +0000 Subject: Tweak the example program (used as a performance tester) so that it will run with higher connection concurrencies. I'm using this to test the listener queue length reporting on apaches and everything is consistent and as expected with this change (stuck at eight before). --- indra/llcorehttp/examples/http_texture_load.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/indra/llcorehttp/examples/http_texture_load.cpp b/indra/llcorehttp/examples/http_texture_load.cpp index 998dc9240b..40ad4f047d 100644 --- a/indra/llcorehttp/examples/http_texture_load.cpp +++ b/indra/llcorehttp/examples/http_texture_load.cpp @@ -153,6 +153,7 @@ public: // int main(int argc, char** argv) { + LLCore::HttpStatus status; bool do_random(false); bool do_verbose(false); @@ -215,6 +216,9 @@ int main(int argc, char** argv) // Initialization init_curl(); LLCore::HttpRequest::createService(); + LLCore::HttpRequest::setPolicyClassOption(LLCore::HttpRequest::DEFAULT_POLICY_ID, + LLCore::HttpRequest::CP_CONNECTION_LIMIT, + concurrency_limit); LLCore::HttpRequest::startThread(); // Get service point @@ -228,7 +232,7 @@ int main(int argc, char** argv) ws.loadTextureUuids(uuids); ws.mRandomRange = do_random; ws.mVerbose = do_verbose; - ws.mMaxConcurrency = concurrency_limit; + ws.mMaxConcurrency = 100; if (! ws.mTextures.size()) { -- cgit v1.2.3 From 7515736c6869ded76fbfdd481e234a58b7143ea5 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 4 Dec 2012 17:09:06 -0500 Subject: tag merge of DRTVWR-251 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2c0b357f2d..1ded9a1aae 100755 --- a/.hgtags +++ b/.hgtags @@ -362,3 +362,4 @@ e9a5886052433d5db9e504ffaca10890f9932979 DRTVWR-243 f1d3b3fcab28ed9ea532bf50db0ba96f5c8cc8e9 DRTVWR-232 4918b150e75df6b516fb6c2616d32043fa6b4cac DRTVWR-245 94ab2b49458ab372a95d2d6949fdf574f413068d 3.4.3-beta1 +bb10adc4f76cf0067fca7075146f00cdc0740e9d DRTVWR-251 -- cgit v1.2.3