Hi, I've run into problems trying to limit the overall download bandwidth for a webserver. This is the code I'm using: tc qdisc add dev eth0 root handle 1: htb default 30 tc class add dev eth0 parent 1: classid 1:1 htb rate 200mbit ceil 200mbit tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 80 0xffff flowid 1:1 The problem is that when I test this with a single connection downloading a large file I can see the download speed according to the specified limit (in this case 200mbit). When I use this code on a production system that receives several thousand small downloads from an nginx server however I see the following: # tc -s -d class show dev eth0 class htb 1:1 root prio 0 quantum 200000 rate 200000Kbit ceil 200000Kbit burst 101600b/8 mpu 0b overhead 0b cburst 101600b/8 mpu 0b overhead 0b level 0 Sent 246544581544 bytes 55302789 pkt (dropped 1614680, overlimits 0 requeues 0) rate 636728Kbit 16228pps backlog 0b 229p requeues 0 lended: 55302560 borrowed: 0 giants: 51516908 tokens: -3729 ctokens: -3729 The rate is over 600mbit so I'm not sure why the traffic isn't limited to the 200mbit specified. Is there something else I need to take into account here to make this work? Regards, Dennis -- To unsubscribe from this list: send the line "unsubscribe lartc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html