summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-08-11 13:54:01 -0400
committerNick Mathewson <nickm@torproject.org>2017-08-11 13:54:01 -0400
commitefbd4a33f4223bd3b7b3b0de307e9854e1d72e4e (patch)
tree890f9c795d1604e2e4ad0d3fc15d12974f01c7ce
parenta368cadf9514cf31deebed8613c4fd833b1448bf (diff)
downloadtor-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/bug232207
-rw-r--r--src/or/routerlist.c5
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