聚沙成塔

netem模拟网络故障注入的shell小脚本

上一篇 / 下一篇  2014-09-09 20:51:51 / 个人分类:常见命令

在测试FTP、HTTP、数据库基本操作、R01通讯这些功能时常常需要模拟网络损伤的异常测试情况。可通过Linux下的Netem来模拟网络故障注入,通过改变发送次序来控制传输速率。一般只能限制网卡发送的数据包,不能限制网卡接收的数据包。
1、corrupt_XX%.sh
#!/bin/bash
corruption =10        #设置损坏比率
ethnum=eth0           #设置网卡号
tc qdisc del dev $ethnum root netem      #删除之前的流量控制
tc qdisc add dev $ethnum root netem corrupt ${corruption}%   #使新的流量控制生效
tc qdisc
2、delay_XXms.sh
delay=200    #设置延迟时间
tc qdisc add dev $ethnum root netem delay ${delay}ms
3、duplicate_XX%.sh
duplicate=5   #设置重复比率
tc qdisc add dev $ethnum root netem duplicate ${duplicate}%
4、jitter_distribution.sh
delay=200
jitter=10  #设置波动时间值
tc qdisc add dev $ethnum root netem delay ${delay}ms ${jitter}ms distribution normal  # 正态分布
5、jitter_interdependcy_XX%.sh
jitter=200
interdependcy=10  #设置波动相关性
tc qdisc add dev $ethnum root netem delay ${jitter}ms ${interdependcy}% 
6、jitter_XXms.sh
jitter=50  #设置抖动值
tc qdisc add dev $ethnum root netem jitter ${jitter}ms
7、loss_XX%.sh   
loss=5   #设置丢包率
tc qdisc add dev $ethnum root netem loss ${loss}%
8、reorder.sh
reorder=5 #设置乱序比率
distribution=10
tc qdisc add dev $ethnum root netem reorder ${reorder}% ${distribution}%
9、delete.sh
tc qdisc del dev $ethnum root netem  #删除流量控制

TAG: shell Shell 网络故障

 

评分:0

我来说两句

Open Toolbar