mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
- 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. git-svn-id: file:///svn/unbound/trunk@2170 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
595eab57de
commit
0a848d686c
3 changed files with 15 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue