Date: Wed, 07 Oct 2009 15:16:27 +0500 From: rihad <rihad@mail.ru> To: Oleg Bulyzhin <oleg@FreeBSD.org> Cc: freebsd-net@freebsd.org Subject: Re: dummynet dropping too many packets Message-ID: <4ACC6A7B.5050808@mail.ru> In-Reply-To: <20091007100503.GB88982@lath.rinet.ru> References: <4AC8A76B.3050502@mail.ru> <20091007085902.GA88982@lath.rinet.ru> <4ACC5E23.8090405@mail.ru> <20091007100503.GB88982@lath.rinet.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Oleg Bulyzhin wrote:
> On Wed, Oct 07, 2009 at 02:23:47PM +0500, rihad wrote:
>
> Few questions:
> 1) why are you not using fastforwarding?
> 2) search_steps/searches ratio is not that good, are you using 'buckets'
> keyword in your pipe configuration?
> 3) you have net.inet.ip.fw.one_pass = 0, is it intended?
>
1) and 3): the box does traffic accounting and shaping, so I need
one_pass=0 to do both ngtee and pipes.
2) Hm, I'm not using "buckets", but rather
net.inet.ip.dummynet.hash_size. It's at default, 64. I've tried setting
net.inet.ip.dummynet.hash_size=65536 in sysctl.conf but somehow it was
still 64 after reboot, so I left it at 64. Should I make it 128? 256?
Does it matter that much? The load is at approx. 70-120 consumers per
pipe, so I thought 64 bucket size was enough. Here's how I've been
monitoring the pipe load interactively:
#!/usr/local/bin/bash
while :; do
(
buff="$(ipfw pipe show | grep -E '^[[:digit:]]+:' | sort -n
-k8,8 -r)"
online="$(mysql -Bs -u... -p... dbname -e"select count(*) from
online")"
clear
echo "$buff"
echo "$buff" | awk '{sum+=$8} END {printf "QLoad: %d/%d\n",
sum, '"$online"'}'
netstat -m | fgrep -w 'mbuf clusters in use'
) | dd 2>/dev/null
if [ -t 0 ]; then
read -s -n 1 -t 15
else
sleep 15
fi
done
Public domain ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4ACC6A7B.5050808>
