On Thu, Sep 26, 2019 at 11:16:21AM +0200, Joerg Jung wrote:

> Hi,
> 
> I run a few busy (~800 req/s) NSD servers which I upgraded 
> to 6.5, all stock/default OpenBSD, e.g. I’ve not tweaked any 
> sysctl values and nsd.conf matches the default as well, just 
> added a few hundred zones.
> 
> Now, when I increase servers from default 1 to 2 in nsd.conf: 
>       server-count: 2
> it starts spamming my log with:
>       nsd[62723]: sendto 1.2.3.4 failed: Resource temporarily unavailable
> 
> checking the source, server.c seems not to handle EAGAIN 
> after sendto() and does not recover or retry, it just increases
> txerr statistic count - so answer seems really lost :(
> 
> I tried higher debug level, as well as increasing socket buffers to: 
>       net.inet.udp.recvspace= 65536
>       net.inet.udp.sendspace=65636
> but both didn’t help and netstat -s -p udp does show 
>       0 dropped due to full socket buffers  
> anyways. So, I don’t believe this is a socket buffer issue.
> 
> The same server-count: 2 setting worked fine with 6.3.
> 
> Any hints, insights, or pointers?
> Does anyone else experience the same?
> 
> Thanks,
> Regards,
> Joerg

This is likely an fd limit issue. Try:

nsd:\
        :openfiles=512:\
        :tc=daemon:

in login.conf, followed by a restart of nsd.

        -Otto

Reply via email to