Linux应用的延时和丢包模拟

嵌入式技术

1344人已加入

描述


  本文将要介绍的是 RHCA 中的一个 BDP 的测试,这也是公司很常用的一种延时和丢包的模拟,你可以测试你的应用软件在不同的情况下的性能,也可以测试你 tcp/ip 调优后是否合适之类,很多地方可以用到。

  我们做的应用软件,还有测试 TCP/UDP  对比,测试 BDP 对 TCP/IP 的影响时,我们都需要一些网络中的延时和丢包模拟,很多商业的软件可以做这个事,其实完美的 Linux 本身就可以使用 TC 来实现这个功能. TC 中的 Netem 可以模拟时延,丢包,重复包,乱序等功能

  建议大家如果测试的话,使用 tc 当中间的路由器,来接二个网卡,然后打开路由功能来测试。

tc 的最最基本的使用

tc qdisc show # 显示
tc qdisc add dev eth0 root ...... # 加入
tc qdisc change dev eth0 root ...... # 修改存在的 qdisc ,记的,加入同一条后只能用 change 来修改
tc qdisc del dev eth0 root # 删除

Linux 中延时模拟

设置延时 3s :

tc qdisc add dev eth0 root netem delay 3000ms

可以在 3000ms 后面在加上一个延时,比如 ’3000ms 200ms‘表示 3000ms ± 200ms ,延时范围 2800 – 3200 之间.

结果显示如下

Linux 中丢包模拟

设置丢包 50% :

tc qdisc change dev eth0 root netem loss 50%

上面的设丢包,如果给后面的 50% 的丢包比率修改成 ’50% 80%’ 时,这时和上面的延时不一样,这是指丢包比率为 50-80% 之间。

显示如下



打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分