]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix jostle list bug found by Vince (luoce@cnnic), it caused the qps
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 28 Jun 2010 11:42:21 +0000 (11:42 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 28 Jun 2010 11:42:21 +0000 (11:42 +0000)
  in overload situations to be about 5 qps for the class of shortly
  serviced queries.
  The capacity of the resolver is then about (numqueriesperthread / 2)
  / (average time for such long queries) qps for long queries.
  And about (numqueriesperthread / 2)/(jostletimeout in whole seconds)
  qps for short queries, per thread.

git-svn-id: file:///svn/unbound/trunk@2170 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
doc/unbound.conf.5.in
services/mesh.c

index 2e7cb97a60ad9a9054a0620c0ebb8e5c97d2afbc..a627f78b5d29859f58903be9be8aaa2ddf4a627c 100644 (file)
@@ -1,3 +1,12 @@
+28 June 2010: Wouter
+       - Fix jostle list bug found by Vince (luoce@cnnic), it caused the qps
+         in overload situations to be about 5 qps for the class of shortly
+         serviced queries.
+         The capacity of the resolver is then about (numqueriesperthread / 2)
+         / (average time for such long queries) qps for long queries.
+         And about (numqueriesperthread / 2)/(jostletimeout in whole seconds)
+         qps for short queries, per thread.
+
 25 June 2010: Wouter
        - Fix handling of corner case reply from lame server, follows rfc2308.
          It could lead to a nodata reply getting into the cache if the search
index f33da11afc1bd6ea9fed0875bb2678d20a10d769..614bd4f1948deb5948f24dcae0526f1a7b5d5f3e 100644 (file)
@@ -214,6 +214,11 @@ arrive, then 50% of the queries are allowed to run to completion, and
 the other 50% are replaced with the new incoming query if they have already 
 spent more than their allowed time.  This protects against denial of 
 service by slow queries or high query rates.  Default 200 milliseconds.
+The effect is that the qps for long-lasting queries is about 
+(numqueriesperthread / 2) / (average time for such long queries) qps.
+The qps for short queries can be about (numqueriesperthread / 2)
+/ (jostletimeout in whole seconds) qps per thread, about (1024/2)*5 = 2560
+qps by default.
 .TP
 .B so\-rcvbuf: \fI<number>
 If not 0, then set the SO_RCVBUF socket option to get more buffer
index a25f221a0b7eb11bb07fffe3d641b8b3a93db3bc..ca899ce98c3bd47248473643ef7cdc6648ee6873 100644 (file)
@@ -234,7 +234,7 @@ mesh_delete_all(struct mesh_area* mesh)
 
 int mesh_make_new_space(struct mesh_area* mesh)
 {
-       struct mesh_state* m = mesh->jostle_last;
+       struct mesh_state* m = mesh->jostle_first;
        /* free space is available */
        if(mesh->num_reply_states < mesh->max_reply_states)
                return 1;