diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-08-11 13:54:01 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-08-11 13:54:01 -0400 |
commit | efbd4a33f4223bd3b7b3b0de307e9854e1d72e4e (patch) | |
tree | 890f9c795d1604e2e4ad0d3fc15d12974f01c7ce | |
parent | a368cadf9514cf31deebed8613c4fd833b1448bf (diff) | |
download | tor-efbd4a33f4223bd3b7b3b0de307e9854e1d72e4e.tar.gz tor-efbd4a33f4223bd3b7b3b0de307e9854e1d72e4e.zip |
Raise MIN_DL_PER_REQUEST to 32
This change should improve overhead for downloading small numbers of
descriptors and microdescriptors by improving compression
performance and lowering directory request overhead.
Closes ticket 23220.
-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 |