• Netem功能


    Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。

    1、模拟延迟传输

    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms

    该命令将 eth0 网卡的传输设置为延迟100毫秒发送。
     
    模拟出带有波动性的延迟值:
    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms  10ms
    该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送。 
     
    还可以更进一步加强这种波动的随机性:
    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms  10ms  30%
    该命令将 eth0 网卡的传输设置为 100ms ,同时,大约有 30% 的包会延迟 ± 10ms 发送。
     
    2、模拟网络丢包
    # tc  qdisc  add  dev  eth0  root  netem  loss  1%
    该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包。
    也可以设置丢包的成功率:
    # tc  qdisc  add  dev  eth0  root  netem  loss  1%  30%
    该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包,成功率为 30% 。

    3、模拟包重发
    # tc  qdisc  add  dev  eth0  root  netem  duplicate 1%
    该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包 。 

    4、模拟包损坏
    # tc  qdisc  add  dev  eth0  root  netem  corrupt  0.2% 
    该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 。 (内核版本需在2.6.16以上)

    5、模拟包乱序
    # tc  qdisc  change  dev  eth0  root  netem  delay  10ms   reorder  25%  50%
    该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟 10 秒。  
    新版本中,如下命令也会在一定程度上打乱发包的次序:
    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms  10ms
    转 http://blog.163.com/lixuefeng19841223@126/blog/static/4895157620136865034378/
  • 相关阅读:
    Spring MVC视图层:thymeleaf vs. JSP
    Guava学习笔记:Google Guava 类库简介
    Hibernate与 MyBatis的比较
    SpringMVC与Struts2区别与比较总结
    Springmvc中@RequestParam传值中文乱码解决方案
    HQL和Criteria
    Struts2的select使用
    Spring AOP原理及拦截器
    hibernate:inverse、cascade,一对多、多对多详解
    mysql中索引利用情况(explain用法)
  • 原文地址:https://www.cnblogs.com/zflibra/p/4348744.html
Copyright © 2020-2023  润新知