1

I send frames in packets from a client to a server on the server I want to shape my traffic. I use this script to control the traffic. First down to 80 kbit after 10 seconds down to 40 kbit. (I know this is ridiculously low, I usually use bigger values)

#!/bin/bash
datenrate=80
datenrate2=40
echo "setting datarate to ${datenrate}"
touch started.info
sudo tc qdisc del dev ens3 root
sudo tc qdisc add dev ens3 handle 1: root htb default 11
sudo tc class add dev ens3 parent 1: classid 1:1 htb rate ${datenrate}kbit
sudo tc class add dev ens3 parent 1:1 classid 1:11 htb rate ${datenrate}kbit
echo "worked"
MSECONDS=$(($(date +%s%N)/1000000))
STOPTIME=0
while : 
do
STOPTIME=$((($(date +%s%N)/1000000) - $MSECONDS))
    if [ $STOPTIME -ge 10000 ]
    then
        sudo tc qdisc del dev ens3 root
        sudo tc qdisc add dev ens3 handle 1: root htb default 11
        sudo tc class add dev ens3 parent 1: classid 1:1 htb rate ${datenrate2}kbit
        sudo tc class add dev ens3 parent 1:1 classid 1:11 htb rate ${datenrate2}kbit
        touch calledthrottle.info
        break
    fi
done
echo "10 sec over - setting up a datarate drop to ${datenrate2} kbit"
while :
do
STOPTIME=$((($(date +%s%N)/1000000) - $MSECONDS))
    if [ $STOPTIME -ge 20000 ]
    then
        sudo tc qdisc del dev ens3 root
        echo "set to normal"
        break
    fi
done
touch ended.info

On my client I generate a logfile which I plot with GNUPlot and I both calculate the avg uploadspeed on server and on the client. In this case 2740 kbit/s. Am I not using the tc tool correctly?

Image of my results generated with GNUPlot: Upload speed

tc qdisc show dev ens3

gives me

qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

which Im not able to delete with

sudo tc qdisc del dev ens3 root

Would be kind if someone could point me in the right direction and could explain why there is such a high upload rate, why there are frames coming through with a far higher throughput then shaped. Thank you.


Updated as adviced


Ok upload rate 80 kbit in tc gives me around 80*8 = 640 KiloBit/s. Still does not explain the fluctuation of the packet income

Fulion
  • 31
  • 1
  • 6

0 Answers0