模拟服务器之间的地理距离

模拟服务器之间的地理距离

我想模拟地理距离,所以我需要为每个接收/传输包添加延迟。
我读到 squid 可以帮助我找到我要找的东西,但是,使用它的配置并没有给我正确的结果。

如果我从自己的电脑 ping 到 squid 服务器,需要大约 0.5 倍的时间,还可以(最好是大约 1 倍的时间)
如果我在服务器之间 ping,只需要大约 0.255 倍的时间

我很高兴得到帮助,找到解决交通拥堵的最佳解决方案。


Squid:版本 3.5.12
操作系统:Ubuntu 16.04.3 LTS

答案1

你应该看看tc这是一个与内核接口交互的流量控制实用程序netem

要对传出的数据包添加一般延迟,你可以这样做:

sudo tc qdisc add dev tun0 root netem delay 10ms

要更改它,请运行sudo tc qdisc change dev tun0 root netem delay 100ms。要删除它,请将其替换changedel

Netem 可以执行其他操作,例如丢弃 1:n 数据包、破坏数据包等等,并可用于模拟各种网络问题。

相关内容