[tor-commits] [tor/master] Raise MIN_DL_PER_REQUEST to 32

nickm at torproject.org nickm at torproject.org
Fri Aug 11 18:09:21 UTC 2017


commit efbd4a33f4223bd3b7b3b0de307e9854e1d72e4e
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Aug 11 13:54:01 2017 -0400

    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.
---
 changes/bug23220    | 7 +++++++
 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 000000000..9c2efc959
--- /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 49caa875f..989401947 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





More information about the tor-commits mailing list