我想模拟数据包延迟和丢失的UDP,并TCP在Linux上衡量一个应用程序的性能。有没有简单的方法可以做到这一点?
3 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
对于丢弃的数据包,我将只使用iptables和statistic模块。
iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
上面将丢弃传入数据包的概率为1%。注意,任何高于约0.14的值和大多数tcp连接都很可能会完全停止。
查看man iptables并搜索“统计信息”以获取更多信息。
波斯汪
TA贡献1811条经验 获得超4个赞
为此目的,科学界中最常用的工具之一是DummyNet。一旦安装了ipfw内核模块,为了在两台机器之间引入50ms的传播延迟,只需运行以下命令:
./ipfw pipe 1 config delay 50ms
./ipfw add 1000 pipe 1 ip from $IP_MACHINE_1 to $IP_MACHINE_2
为了也引入50%的数据包丢失,您必须运行:
./ipfw pipe 1 config plr 0.5
- 3 回答
- 0 关注
- 700 浏览
添加回答
举报
0/150
提交
取消