Maintained by: NLnet Labs

[Unbound-users] Query problems with multi-threaded server

Roberto Adler
Thu Jan 15 14:11:12 CET 2009


Hi,

I'm running unbound with 4 separate threads and I notice that 
sometimes the same query
returns ok and sometimes returns error.
I understood that with 4 threads each one have a separate cache. Is 
this correct ?
So maybe one cache has the data and other couldn't get it.

Normally the query below returns ok:
----------------------------------------------
# dig @wks11.rjo www.sun.com.br

; <<>> DiG 9.3.4-P1 <<>> @wks11.rjo www.sun.com.br
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9503
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;www.sun.com.br.                        IN      A

;; ANSWER SECTION:
www.sun.com.br.         37931   IN      CNAME   br.sun.com.
br.sun.com.             37931   IN      A       72.5.124.12

;; AUTHORITY SECTION:
sun.com.                39455   IN      NS      ns1.sun.com.
sun.com.                39455   IN      NS      ns2.sun.com.
sun.com.                39455   IN      NS      ns7.sun.com.
sun.com.                39455   IN      NS      ns8.sun.com.

;; ADDITIONAL SECTION:
ns1.sun.com.            36656   IN      A       192.18.128.11
ns2.sun.com.            84888   IN      A       192.18.99.5
ns7.sun.com.            36656   IN      A       192.18.43.15
ns8.sun.com.            36656   IN      A       192.18.43.12

;; Query time: 0 msec
;; SERVER: 200.255.125.211#53(200.255.125.211)
;; WHEN: Thu Jan 15 10:13:01 2009
;; MSG SIZE  rcvd: 208
----------------------------------------------

But sometimes returns:
----------------------------------------------
# dig @wks11.rjo www.sun.com.br

; <<>> DiG 9.3.4-P1 <<>> @wks11.rjo www.sun.com.br
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 21333
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.sun.com.br.                        IN      A

;; Query time: 0 msec
;; SERVER: 200.255.125.211#53(200.255.125.211)
;; WHEN: Thu Jan 15 10:12:59 2009
;; MSG SIZE  rcvd: 32
----------------------------------------------

What is happening here ?
When I run with 1 thread I never had these symptom.

The hardware:
Intel Xeon with 8 processors, 5G memory
CentOS release 5.2
unbound 1.2.0
	compile options: --without-pthreads --without-solaris-threads
unbound.conf:
	num-threads: 4
	outgoing-range: 700
	num-queries-per-thread: 700

	outgoing-num-tcp: 10
	incoming-num-tcp: 10

	rrset-cache-size: 1000m
	msg-cache-size: 100m

	rrset-cache-slabs: 8
	msg-cache-slabs: 8
	infra-cache-slabs: 8
	key-cache-slabs: 8

The server have an average load of 10000 qry/min so its quite free.

Thanks,

Roberto