diff options
-rw-r--r-- | changes/bug23220 | 7 | ||||
-rw-r--r-- | src/or/routerlist.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/changes/bug23220 b/changes/bug23220 new file mode 100644 index 0000000000..9c2efc959a --- /dev/null +++ b/changes/bug23220 @@ -0,0 +1,7 @@ + o Minor features (client directory bandwidth tuning): + + - When downloading (micro)descriptors, don't split the list of + descriptors into multiple requests unless there are at least 32 + descriptors that we want. Previously, we split at 4, not 32, which + could lead to significant overhead in HTTP request size and + degradation in compression performance. Closes ticket 23220. diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 49caa875fe..9894019476 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -4971,8 +4971,9 @@ max_dl_per_request(const or_options_t *options, int purpose) } /** Don't split our requests so finely that we are requesting fewer than - * this number per server. */ -#define MIN_DL_PER_REQUEST 4 + * this number per server. (Grouping more than this at once leads to + * diminishing returns.) */ +#define MIN_DL_PER_REQUEST 32 /** To prevent a single screwy cache from confusing us by selective reply, * try to split our requests into at least this many requests. */ #define MIN_REQUESTS 3 |