Linux下模拟网络时延和丢包神器介绍

前言
大家好,这里是浩道linux,主要给大家分享linux、python、网络通信、网络安全等相关的it知识平台。
今天浩道跟大家分享推荐一款linux用于模拟网络时延和丢包神器!有这些业务运维或测试场景的小伙伴,可以用起来了!
在性能测试过程中,我们还需要模拟网络异常的情况下,是否会出现一些异常数据。最常见的就是写库操作,比如说我们下单的场景,如果出现网络异常的时候是否会出现数据对不上这种情况。  
如我们jmeter发送成功的请求数量和最终数据库表中存入下单的数据对不上,通常在网络异常的情况下会出现这种情况,因为通常很多框架都会存在重试的功能,比如app在向服务端发送网络请求,那么在这个请求的过程中网络不稳定,一直没有得到响应,那么app会重试,但是出现这种情况下,我们就需要考虑是否会出现重复下单,生成两笔订单的情况。
通常我们服务端通常会有一定的机制处理这种情况,但是我们需要去测试服务端这种机制是否生效。
tc工具的介绍
  通常我们是在应用服务器上使用tc工具模拟网络丢包。tc工具是工作在服务端的,是专门针对网卡来进行一些相关的策略的。比如当我们请求传到网卡的时候,其实这个时候请求还没有到程序里面,那我们可以在网卡出来的时候加长延时时间或者丢包。    
linux中模拟延时和丢包
  在模拟丢包之前,我们现在看一下我们机器的网卡,可以看到我们的网卡是eth0
然后我现在在本机上ping我们的应用服务器,确认网络正常。
设置延时
  1、此时我们设置延时,其中eth0 是我们的网卡名称,下面的命令实现了给 eth0 口发包时添加 30ms 的延时。  
tc qdisc add dev eth0 root netem delay 30ms  设置延时之后,此时我们可以看到时间已经在40ms左右了
2、显示延时的设置
3、修改延时  tc qdisc change dev eth0 root netem delay 40ms
4、删除延时配置  tc qdisc del dev eth0 root netem delay 40ms  可以看到删除延时之后,时间又恢复在10ms左右了
模拟丢包
  1、设置丢包
tc qdisc add dev eth0 root netem loss 10%  再看可以发现已经出现丢包的情况了


把算法用RTL实现该怎么做?
华为宣布耀星计划全面升级,10亿美元激励和扶持全球开发者创新
嵌入式软件架构设计之消息交互
基于AVLCRUISE软件仿真轮胎动态半径的计算
告别价格战时代 家电零售江湖争战愈发激烈
Linux下模拟网络时延和丢包神器介绍
mate40鸿蒙系统怎么升级
ThermaSim在线MOSFET热仿真工具改进设计
江波龙电子获得海关AEO高级认证,将享受多项通关便利措施
基于IGBT电路的逆变器设计与分析,IGBT数字化模块设计与考量
Mentor出售内忧,西门子现金收购
什么是全桥整流电路,全桥整流电路的工作原理是什么,全桥整流电路的计算公式
ADMV7810CHIPS功率放大器
鸿蒙系统不再“孤军奋战” 华为、美的强强联手
小鹏P7、小鹏G3新版车型开售 均采用磷酸铁锂电池
Orbit通过AR技术,将教学内容实现3D可视化
人工智能的以后会如何
Aqara打造个性化全屋智能安防系统
电网设备和电力设备区别 电力网的主要设备有哪些
AI开发的最新技术;彭博让你节省不必要的时间