[Pdns-users] pdns_recursor stops getting queries on Solaris 10 sparc

Jan Gyselinck pdns-users at lists.b0rken.net
Wed Sep 12 18:17:55 UTC 2007


On Wed, Sep 12, 2007 at 03:22:32PM +0200, Christian Kuehn wrote:
> Alex Kiernan wrote:
> > I ran into this problem on a live box, so I ended up backing out and
> > going back to bind, but I've grabbed a set of queries which reproduce
> > the problem (eventually).
> > 
> > When it stops doing stuff it, it looks like its not getting new queries:
> > 
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > port_getn(7, 0x0012D108, 1024, 1, 0xFFBEF44C)   = 0 [62]
> > 
> > But it seems like it only happens after ~250K queries. I'm pushing my
> > queries at it using UDP (using perl ParaDNS), once it has given up,
> > its only the UDP queries which break - TCP still works.
> > 
> > Any pointers where to start looking?
> > 
> HI,
> 
> we found the same problem and it looks like a problem with Sol10.
> 
> Our fix was a small change in sysdeps/SunOS.inc
> 
> ifeq ($(CC),cc)
>         CC:=gcc
> endif
> 
> LDFLAGS+=-lresolv -lsocket -lnsl
> OS_SPECIFIC_INSTALL=mkdir -p $(DESTDIR)/etc/init.d ; cp pdns-recursor.init.d $(D
> ESTDIR)/etc/init.d/pdns-recursor
> 
> #OPTIONALS:=optional/portsmplexer.o
> 
> #optional/portsmplexer.o: portsmplexer.cc
> #       $(CXX) $(CXXFLAGS) -c $< -o $@  ; true
> 
> 
> Good luck!
> 
> Cheers
> Christian
>
> -- 
> Christian K?hn
> (Technical Consultant / Hostmaster)
*snip*
 
 
Surely you have a much higher overhead to handle the same number of queries now?
Sun still has no Intel/AMD equivalent cpu's when comparing raw computing power
in their SPARC gamma so every bit of juice you can squeeze out of it helps.

Hint:
When using the sun4u platform, except for US-III 750 Mhz cpu's, you can
use 4 MB pages for the recursor by using this command to start it:

ppgsz -o heap=4M,anon=4M /usr/local/sbin/pdns_recursor

(verify with: 'pmap -xs <pid>')

This improves performance with something around 3% for a resolver with 800 MB,
depending on your situation this may be less or even more.  When using the
portsmplexer it could make the problem appear less often.


Jan Gyselinck



More information about the Pdns-users mailing list