Назад | Перейти на главную страницу

tc простое ограничение скорости

Я хотел бы сделать простое ограничение скорости, чтобы весь HTTP-трафик (входящий и исходящий), идущий на мой HTTP-сервер или с него, был сформирован.

У меня есть соединение GigE на сервере, и я хочу ограничить скорость всего HTTP-трафика, например, до 50 Мбит / с (эта служба будет использоваться для локальных тестов скорости).

Я уже пробовал несколько настроек с tc, но ничего не работало, есть идеи, как я могу легко это сделать?

Я никогда не хочу, чтобы общий трафик (агрегированный HTTP) превышал 50 Мбит / с, чрезмерное падение, и если я проведу тест на другом сервере с того же vlan (в GigE), я бы исключил его, чтобы получить 50 Мбит / с.

Спасибо и привет,

Простой скрипт для ограничения входящего и исходящего HTTP-трафика:

#!/bin/bash

INT="eth1"

case "$1" in
start|restart)
        tc qdisc del dev $INT handle ffff: ingress 2>/dev/null
        tc qdisc add dev $INT handle ffff: ingress
        tc filter add dev $INT parent ffff: protocol ip prio 50 u32 match ip dport 80 0xffff police rate 50Mbit burst 10m drop flowid :1
        tc qdisc del dev $INT root handle 1: htb 2>/dev/null
        tc qdisc add dev $INT root handle 1: htb
        tc class add dev $INT parent 1: classid 1:1 htb rate 1000Mbit
        tc class add dev $INT parent 1:1 classid 1:5 htb rate 50Mbit prio 1
        tc filter add dev $INT parent 1:0 prio 1 protocol ip u32 match ip dport 80 0xffff flowid 1:5
        ;;
stop)
        tc qdisc del dev $INT handle ffff: ingress 2>/dev/null
        tc qdisc del dev $INT root handle 1: htb 2>/dev/null
        ;;
*)
        echo "Use: $0 start|stop"
esac

скрипт в работе: http://linux.dyndns-work.com/video/linux_tc_simple_shape_ingress_and_egress_traffic.ogv/

вы можете использовать htb-tools http://htb-tools.skydevel.ro/, он тоже использует tc, но его проще использовать.