加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

限制linux中的传入和传出带宽和延迟

发布时间:2020-12-13 18:06:48 所属栏目:Linux 来源:网络整理
导读:我发现很多类似的问题已经被问到,但到目前为止我还没有找到解决问题的方法. 我有一个虚拟的Linux服务器(运行Debian Squeeze),我用它来测试网站速度,以衡量所述网站的加载时间的增加和减少.我试图限制此服务器的带宽和延迟,以便能够接近网站上的实际加载时间,
我发现很多类似的问题已经被问到,但到目前为止我还没有找到解决问题的方法.

我有一个虚拟的Linux服务器(运行Debian Squeeze),我用它来测试网站速度,以衡量所述网站的加载时间的增加和减少.我试图限制此服务器的带宽和延迟,以便能够接近网站上的实际加载时间,但迄今为止失败了.

我特别想要的是以下内容:

>设置50 ms的传入和传出延迟.
>设置512 kbps的传入带宽限制.
>设置传出带宽限制为4096 kbps.

我一直在阅读netem和使用tc命令,但它仍然有点过头了.我已经设法将这个命令放在一起来控制似乎有效的延迟,但我甚至不确定它是否只处理传出延迟或两者:

tc qdisc add dev eth0 root netem delay 50ms

周围的网络专家可以帮助我吗?

编辑:

经过进一步研究后,我已达到目标的一半,使用此命令,所有传出流量的行为都符合我的要求:

tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000

但是,我仍然无法正确限制传入流量.我已经知道我应该使用“Ingress Policer过滤器”我一直试图用下面的命令做到这一点,玩弄不同的值,但没有运气.

tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match ip src 0.0.0.0/0 flowid :1 police rate 1.0mbit mtu 10000 burst 10k drop

然而,带宽受命令影响,上面的值使速度从2MB / s开始,并且随着传输的进行,缓慢下降到大约80-90kB / s,它在传输大约30秒后到达.

关于我做错的任何想法?

解决方法

我最终决定只在服务器上设置传出带宽/延迟,然后在客户端上做同样的事情,有效地达到相同的结果.

这些是我分别在服务器和客户端上运行的命令,以实现我的目标:

服务器:4 Mbit 50 ms

tc qdisc add dev eth0 handle 1: root htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4Mbit
tc qdisc add dev eth0 parent 1:11 handle 10: netem delay 50ms

客户端:512 kbit 50 ms

tc qdisc add dev vmnet1 handle 1: root htb default 11
tc class add dev vmnet1 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev vmnet1 parent 1:1 classid 1:11 htb rate 512kbit
tc qdisc add dev vmnet1 parent 1:11 handle 10: netem delay 50ms

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读