免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 14320 | 回复: 25

[网络管理] 关于TC HTB 限速不准确问题 [复制链接]

论坛徽章:
0
发表于 2009-12-30 17:46 |显示全部楼层
本人在虚拟机测试:
版本为centos 5.3

非常感谢 wendaozhe   

热心的帮助,借用了一台服务器测试以后发现一切正常。
记住这个教训了!TMD白折腾了一天


tc qdisc add dev eth0 root handle 1: htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 1Mbit ceil 1Mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1Mbit ceil 1Mbit  prio 5
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 80kbit ceil 1Mkbit prio 3
tc qdisc add dev eth0 parent 1:10 handle 100: pfifo limit 10
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.1.102 flowid 1:10

在虚拟机配置了 ftp进行下载测试,发现差距很大 1Mbit下载竟然只有60左右,
HTB FAQMartin Devera aka devik (devik@cdi.cz)
Last updated: 7.7.2003 When HTB is used on machine with Apache (FTP, Samba, ...) server running then downloading from it can't be limited precisely Try to add PFIFO with limit 10 under HTB classes. When you use default (much larger PFIFO) or SFQ then TCP stack will back off itself as it see too large memory used for outgoing packets. You can also play with /proc/sys/net/ipv4/tcp_wmem.

也做了相应的更改

请问各位高手,问题出在了哪里?我哪里理解错误了

疑问是:根据所有的方法测试就显示只有平时使用AD速率的一半左右!AD 1M可以下载100K没问题,可是用tc只能达到60左右!
是虚拟机的关系导致吗?


请各位多指点!!!

[ 本帖最后由 fangjiafu 于 2009-12-31 16:49 编辑 ]
1.jpg

论坛徽章:
0
发表于 2009-12-30 23:48 |显示全部楼层
ftp有主动和被动模式的,
你最好用http下载测试,用另存为进行测试。

还有你的10和11的rate之和已经超过了父类的1M了。

论坛徽章:
0
发表于 2009-12-30 23:49 |显示全部楼层
还有你可以用
tc -s -d class show dev eth0 查看以下是否有流量通过

论坛徽章:
0
发表于 2009-12-31 11:14 |显示全部楼层

回复 #3 emmoblin 的帖子

谢谢!我按照你说的改一下试试!流量有通过!
也就是说 ftp这种测试速度不准,我通过几次试验发现 512K的限速能达到30左右 1M能达到60左右 和平时家里使用的AD相比较刚好差了1倍,是不是忽略了那里呢?

论坛徽章:
0
发表于 2009-12-31 11:27 |显示全部楼层

回复 #3 emmoblin 的帖子

你好! 我又反复测试了一下 用http另存的方式,发现也是刚好差1倍,如下:
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 1Mbit ceil 1Mbit  
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 512kbit ceil 512kbit   prio 5
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 512kbit ceil 512kbit prio 3
tc qdisc add dev eth0 parent 1:10 handle 100: pfifo limit 10
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.1.102 flowid 1:10


[root@FJF html]# tc -s -d class show dev eth0
class htb 1:11 parent 1:1 prio 3 quantum 6400 rate 512000bit ceil 512000bit burst 1664b/8 mpu 0b overhead 0b cburst 1664b/8 mpu 0b overhead 0b level 0
Sent 25311 bytes 231 pkt (dropped 0, overlimits 0 requeues 0)
rate 1312bit 1pps backlog 0b 0p requeues 0
lended: 231 borrowed: 0 giants: 0
tokens: 23000 ctokens: 23000

class htb 1:1 root rate 1000Kbit ceil 1000Kbit burst 1725b/8 mpu 0b overhead 0b cburst 1725b/8 mpu 0b overhead 0b level 7
Sent 1185907 bytes 1265 pkt (dropped 0, overlimits 0 requeues 0)
rate 107472bit 11pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 12968 ctokens: 12968

class htb 1:10 parent 1:1 leaf 100: prio 5 quantum 6400 rate 512000bit ceil 512000bit burst 1664b/8 mpu 0b overhead 0b cburst 1664b/8 mpu 0b overhead 0b level 0
Sent 1160596 bytes 1034 pkt (dropped 52, overlimits 0 requeues 0)
rate 106472bit 10pps backlog 0b 0p requeues 0
lended: 1034 borrowed: 0 giants: 0
tokens: 24375 ctokens: 24375
1.jpg

论坛徽章:
0
发表于 2009-12-31 11:28 |显示全部楼层
白金版主 高手们,指点一下!

谢谢!!

论坛徽章:
0
发表于 2009-12-31 11:39 |显示全部楼层
我没有精确测试,不过就我用的情况,htb的确不太准确的,你可以试试hfsc。

论坛徽章:
0
发表于 2009-12-31 11:44 |显示全部楼层

回复 #7 wendaozhe 的帖子

感觉刚好差了1倍,好像哪里出问题了似的!
有点不理解,官方网站上面的介绍和图像显示很准确。
目前做qos基本上都用 HTB CBQ吧?

论坛徽章:
0
发表于 2009-12-31 11:47 |显示全部楼层

回复 #7 wendaozhe 的帖子

我把hfsc的也贴出来试试!

论坛徽章:
0
发表于 2009-12-31 11:57 |显示全部楼层
很奇怪 为什么刚好差一倍?

谢谢各位指点一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP