[Unbound-users] Packets lost when multi threading
Leo Baltus
Leo.Baltus at omroep.nl
Fri Dec 7 13:14:09 UTC 2012
Op 07/12/2012 om 12:38:27 +0100, schreef W.C.A. Wijngaards:
> On 12/07/2012 12:20 PM, Leo Baltus wrote:
> > Op 07/12/2012 om 11:50:04 +0100, schreef W.C.A. Wijngaards:
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> >>
> >> Hi Leo,
> >>
> >> On 12/07/2012 11:29 AM, Leo Baltus wrote:
> >>> Hi,
> >>>
> >>> When I run unbound multi-threaded perf keeps reporting
> >>> 'Packets lost', but when it runs single threaded it does not.
> >>>
> >>> $ perf -d 10 -a 'www.omroep.nl IN A' 2a02:458:101:31::34 qps:
> >>> 29262.9 qps: 31986.4 qps: 32167.5 qps: 32479.7 qps: 33064.3
> >>> qps: 32174.4 qps: 31408.1 qps: 35887.4 qps: 37471.3 qps:
> >>> 35364.5 overall time: 10.0001 sec Packets lost: 732
> >>> 0(NOERROR): 331249 replies average qps: 33124.5
> >>>
> >>> This is unbound-1.4.18 with openssl-1.0.0j, ldns-1.6.16 and
> >>> libevent-2.0.21-stable running on a linux-2.6.27.59 kernel.
> >>>
> >>> It even reports this when perf is run on the host running
> >>> unbound.
> >>>
> >>> Is this a known issue?
> >>
> >> No. Can you try setting so-rcvbuf higher (4m) ? It may be lost
> >> simply because it is out of buffers. There is nothing intrinsic
> >> in unbound that makes it drop packets in this setup; it must be
> >> the OS.
> >>
> >
> > It makes no difference.
> >
> > here's the multithreading part of my unbound.conf:
> >
> > num-threads: 4 outgoing-range: 8192 num-queries-per-thread: 4096
> > so-rcvbuf: 4m
> >
> > Also 'netstat -su' does not report any increments on 'receive
> > errors' or RcvbufErrors.
>
> Perhaps perf fails to count them? They may still be in transit, and
> perf stops abruptly, counts them as lost? tcpdump may be able to
> count the number of packets that transited and where those 732 packets
> went?
>
I think you are right.
Once perf stopped receiving, the client started to send 'ICMP dest.
unreachable'. If I add the number of packets, they get pretty close to the
number of packets lost reported by perf.
So maybe perf should just stop sending after $duration (or SIGHUP) and
wait a while for the last packets to arrive?
--
Leo Baltus, internetbeheerder /\
NPO ICT Internet Services /NPO/\
Sumatralaan 45, 1217 GP Hilversum, Filmcentrum, west \ /\/
servicedesk at omroep.nl, 035-6773555 \/
More information about the Unbound-users
mailing list