Преглед на файлове

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.
Nick Mathewson преди 6 години
родител
ревизия
efbd4a33f4
променени са 2 файла, в които са добавени 10 реда и са изтрити 2 реда
  1. 7 0
      changes/bug23220
  2. 3 2
      src/or/routerlist.c

+ 7 - 0
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.

+ 3 - 2
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