yzf*_*fr1 17 networking linux bandwidth latency
我意识到已经提出了许多类似的问题,但到目前为止我还没有找到解决我的问题的方法。
我有一个虚拟 linux 服务器(运行 Debian Squeeze),用于测试网站速度,以测量所述网站加载时间的增加和减少。我试图限制该服务器的带宽和延迟,以便能够接近网站上的真实世界加载时间,但到目前为止都失败了。
我特别想要的是以下内容:
我一直在阅读 netem 并使用该tc命令,但它仍然有点超出我的头脑。我设法将这个命令放在一起来控制似乎有效的延迟,但我什至不确定它是否只处理传出延迟或两者兼而有之:
tc qdisc add dev eth0 root netem delay 50ms
Run Code Online (Sandbox Code Playgroud)
周围的任何网络专家可以帮助我吗?
编辑:
经过进一步研究,我已经实现了一半的目标,使用此命令所有传出流量的行为都符合我的要求:
tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000
Run Code Online (Sandbox Code Playgroud)
但是,我仍然无法正确限制传入流量。我了解到我应该使用“入口监管器过滤器”我一直在尝试使用下面的命令来做到这一点,尝试使用不同的值,但没有运气。
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
Run Code Online (Sandbox Code Playgroud)
虽然带宽受命令影响,但上述值使速度从 2MB/s 开始,随着传输的进行,缓慢下降到大约 80-90kB/s,在传输约 30 秒后达到。
关于我做错了什么的任何想法?
yzf*_*fr1 15
我最终决定只在服务器上设置传出带宽/延迟,然后在客户端上做同样的事情,有效地达到相同的结果。
这些是我分别在服务器和客户端上运行的命令以实现我的目标:
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36198 次 |
| 最近记录: |