strange problem with query being dropped/ignored by the BIND process

Dennis Clarke dclarke at blastwave.org
Thu Jun 29 13:24:57 UTC 2017


On 06/29/2017 12:52 PM, Marc Richter wrote:
> Hi again,
> 
> I have checked this again today.
> 
> Send & receive buffers are both 1MB, the Server has 8 CPUs and during
> startup BIND is reporting this:
> 
> 	found 8 CPUs, using 8 worker threads
> 	using 7 UDP listeners per interface
> 	using up to 32768 sockets
> 
> We only have about 1.500 queries per second on this server. CPU(30%) and
> memory(50%) usage also is not an issue here.

Do you have any adjustments in /etc/system ?

I will assume you don't have ip_forwarding messed with and let's just 
look at your network stack config. You don't need to publish your 
results to the maillist but have a look at :

# ndd -get /dev/ip \? | grep "read"
# ndd -get /dev/tcp \? | grep "read"

Here you have the full range of stack kernel tunables. At the very least
the ones you can read data from.

You probably already did this but create a quick script :

#!/bin/sh
/usr/bin/printf "\n"

/usr/bin/printf "tcp_wscale_always = "
ndd -get /dev/tcp tcp_wscale_always

/usr/bin/printf "tcp_tstamp_if_wscale = "
ndd -get /dev/tcp tcp_tstamp_if_wscale

/usr/bin/printf "tcp_max_buf = "
ndd -get /dev/tcp tcp_max_buf

/usr/bin/printf "tcp_cwnd_max = "
ndd -get /dev/tcp tcp_cwnd_max

/usr/bin/printf "tcp_xmit_hiwat = "
ndd -get /dev/tcp tcp_xmit_hiwat

/usr/bin/printf "tcp_recv_hiwat = "
ndd -get /dev/tcp tcp_recv_hiwat


Run that.


What I see here on three diff Sol10 servers for various purposes is :

M5 # /tmp/foo.sh

tcp_wscale_always = 1
tcp_tstamp_if_wscale = 1
tcp_max_buf = 1048576
tcp_cwnd_max = 1048576
tcp_xmit_hiwat = 49152
tcp_recv_hiwat = 49152


st0 # /tmp/foo.sh

tcp_wscale_always = 1
tcp_tstamp_if_wscale = 1
tcp_max_buf = 1048576
tcp_cwnd_max = 1048576
tcp_xmit_hiwat = 49152
tcp_recv_hiwat = 49152


st1 #

tcp_wscale_always = 1
tcp_tstamp_if_wscale = 1
tcp_max_buf = 16777216
tcp_cwnd_max = 8388608
tcp_xmit_hiwat = 65535
tcp_recv_hiwat = 65535


The first two are defaults whereas the last unit needs to sling around
terabytes daily.  I am curious what your system thinks it is doing
with its tcp/ip stack.

Since you are on contract ( me too .. arn't we all these days ) then I
have to assume you have reasonable kernel updates and tcp patches in
this Solaris server ?

Dennis






More information about the bind-users mailing list