诚招英才(长期):高级测试开发工程师、测试架构师,C++,java,ops; 联系方式:linhan@taobao.com msn: niuxvampire@hotmail.com

用NETEM模拟网络丢包

上一篇 / 下一篇  2009-12-28 12:18:51 / 个人分类:linux

&X c ^+^ Wg2r0不知大家是否会测试到通信中间件,如果有的话,那么了解一下NETEM工具将是非常有用的。在最近一次通信故障重现中用到的,给大家分享一下;它可以做很多事情,比如说模拟丢包,重复发包,发乱序包等;简要说明如何使用:

(R.Z0|z1@NHI0

-p@5Y)bG0step1:使用ifconfig命令查看你的网卡信息,如:eth051Testing软件测试网2H1n6`I.G

,N!n\9\K_0step2:将网卡加入监控列表 
,_ E dcuC0       sudo tc qdisc add dev eth0 root netem51Testing软件测试网m L0Hr*H8dd2\7EsJm

51Testing软件测试网v ~C-v.r,D:Ga

step3:51Testing软件测试网T7e%O_D1s+Hu
       设置丢包率 51Testing软件测试网:{M5d/dNs!F E
       sudo tc qdisc change dev eth0 root netem loss 0.5% 
N#Db-e\n-E0       设置重发51Testing软件测试网dI#iwS$Xu!s
       sudo tc qdisc change dev eth0 root netem duplicate 1%51Testing软件测试网FB3{ L,g
       设置发乱序包
2M R.idi r `$eKG0       sudo tc qdisc change dev eth0 root netem gap 5 delay 10ms

#QqHYp.l&}gX%k0

,`C"H!]/y,l0如果想让网络恢复正常,只需要将设置的值相应归0即可。
dS4? ry&\X^)C.?0NetEM 包含在iproute2包中,由命令"tc"控制,使用起来很方便,不过需要说明一下:这个工具需要在Linux 2.6以上内核才包含。51Testing软件测试网`$|gb#\,{I

T;C.z\ l0NETEM介绍,可参考:http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

-iot#{9C@ @.ZM)t@0

2bJ|7@xM0TC介绍,可参考:51Testing软件测试网G,x/I7SnXX p%n^\
http://www.myfaq.com.cn/A/2002-01-29/12319.html

HR]U!Z`5n mf0

TAG: 技术

 

评分:0

我来说两句

Open Toolbar