Try to improve rrl timing

Add a +burst option to mdig so that we have a second to setup the
mdig calls then they run at the start of the next second.

RRL uses 'queries in a second' as a approximation to
'queries per second'. Getting the bursts of traffic to all happen in
the same second should prevent false negatives in the system test.

We now have a second to setup the traffic in.  Then the traffic should
be sent at the start of the next second.  If that still fails we
should move to +burst=<now+2> (further extend mdig) instead of the
implicit <now+1> as the trigger second.

(cherry picked from commit 92cdc7b6c7)
This commit is contained in:
Mark Andrews
2020-09-16 12:40:52 +10:00
parent 55eacc6945
commit 07017d0a8e
4 changed files with 77 additions and 12 deletions

View File

@@ -81,7 +81,7 @@ burst () {
eval BURST_DOM="$BURST_DOM_BASE"
DOMS="$DOMS $BURST_DOM"
done
ARGS="+nocookie +continue +time=1 +tries=1 -p ${PORT} $* @$ns2 $DOMS"
ARGS="+burst +nocookie +continue +time=1 +tries=1 -p ${PORT} $* @$ns2 $DOMS"
$MDIG $ARGS 2>&1 | \
tr -d '\r' | \
tee -a full-$FILENAME | \
@@ -93,7 +93,7 @@ burst () {
-e 's/;; .* status: NOERROR.*/NOERROR/p' \
-e 's/;; .* status: SERVFAIL.*/SERVFAIL/p' \
-e 's/response failed with timed out.*/drop/p' \
-e 's/;; communications error to.*/drop/p' >> $FILENAME
-e 's/;; communications error to.*/drop/p' >> $FILENAME &
QNUM=`expr $QNUM + $BURST_LIMIT`
}
@@ -105,6 +105,8 @@ range () {
# $1=domain $2=IP address $3=# of IP addresses $4=TC $5=drop
# $6=NXDOMAIN $7=SERVFAIL or other errors
ck_result() {
# wait to the background mdig calls to complete.
wait
BAD=no
ADDRS=`egrep "^$2$" mdig.out-$1 2>/dev/null | wc -l`
# count simple truncated and truncated NXDOMAIN as TC