在性能测试过程中,我们还需要模拟网络异常的情况下,是否会出现一些异常数据。最常见的就是写库操作,比如说我们下单的场景,如果出现网络异常的时候是否会出现数据对不上这种情况。

如我们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%

再看可以发现已经出现丢包的情况了

如果你是通过SSH 登陆设备进行配置丢包的话,配置完这条命令就会感觉到机器访问时有点一卡一卡的。这说明,设备已经开始丢包了,可以通过具体抓包查看。

其他诸如修改、查看、删除的命令,都可以参考上面延时的设置。

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

性能测试 Linux 环境下模拟延时和丢包实现相关推荐

  1. Linux 中模拟延时和丢包的实现

    Linux 中使用 tc 进行流量管理.具体命令的使用请参考 tc 的 man 手册. 本文简单记录一下使用 tc 模拟延时和丢包的命令. 1. 延时 (1)设置延时 # tc qdisc add d ...

  2. 操作系统课程设计--在Linux环境下模拟实现简单命令解释器(C++代码)

    操作系统课程设计要求 一.设计目的 熟悉Linux编程环境,加强对Linux命令的理解及函数的运用 二.设计内容 1. 在Linux环境下模拟实现简单命令解释器. (1)要求实现的基本命令包括: pw ...

  3. linux简单命令解释器设计,Linux环境下模拟实现命令解释器

    在Linux环境下模拟实现命令解释器 一.程序概述 1.进入系统概述 本次课程设计是在红帽Linux发行版(Red Hat Enterprise Linux AS release 4 (Nahant ...

  4. linux打包java jar_在linux环境下修改可运行jar包配置并重新打包

    在linux环境下修改可运行jar包配置并重新打包步骤: 1)mkdir xxx 2)mv XXX.jar XXX 3)jar xvf XXX.jar 4)mv XXX.jar ../ 5)vi XX ...

  5. linux 模拟延时和丢包

    这是 RHCA 中的一个 BDP 的测试,这也是公司很常用的一种延时和丢包的模拟,现在分享给大家. 我们做的应用软件,还有测试 TCP/UDP  对比,测试 BDP 对 TCP/IP 的影响时,我们都 ...

  6. linux中模拟延时与丢包的实现

    延迟模拟: 1模拟eth0 网卡传输设置延迟为100ms发送 # tc qdisc add dev eth0 root netem delay 100ms 2设置带有波动的延迟情况,该命令将 eth0 ...

  7. windows下模拟网络延时、丢包、抖动

    1.Fiddler 免费软件 模拟网速功能比较单一(Rules --> Performance --> Simulate Modem speed),选项较少,Fiddler仅是减缓带宽并未 ...

  8. 在linux环境下模拟实现简单命令解释器_git bash 竟然不支持 tree 命令

    别人家的孩子 以下故事,纯属虚构,如有雷同,绝不可能! git 是一个思维敏捷做事可靠的好管家,什么事交给他都很放心,文件再也不用担心丢失了,还得记住文件内容的更改变化. 可惜的是,git 是别人家的 ...

  9. php丢包率测试,linux 网络延时、丢包与传输带宽关系测试

    一.目的 在互联网中,我们会向网络运营商申请指定额度的带宽.实际传输时,由于网络QoS达不到要求,实际的传输带宽可能达不到标称值.本次测试在局域网环境中使用模拟工具模拟不同QoS下的网络条件,得出不同 ...

最新文章

  1. 汉诺塔(三)_栈的应用
  2. STL算法algorithm,
  3. python type help copyright_Python关于import的实验(8)__init__.py文件内部代码的执行以及内部的导入和内部的变量...
  4. SAP UI5库文件的加载细节探讨
  5. [10] AOP的注解配置
  6. editplus 快捷键及设置tab空白符及删除空格空行
  7. RFC 文档(1-500)
  8. linux 节点互信,Linux 集群节点互信ssh配置
  9. 如何轻松做好设备巡检管理?
  10. noip普及组2007 守望者的逃离
  11. 手把手教你搭建一个【文件共享平台】系列教程第二话——环境搭建
  12. vbs整人简单实现大量弹窗+指定语句退出!
  13. 1761:神奇的口袋(2)
  14. [软件人生]关于离婚对孩子的影响——我想说,我经历
  15. 医疗时鲜资讯:新医改环境下“连锁诊所模式”前景如何?
  16. InfoWorld 公布 2020 年最佳开源软件
  17. 计算机的硬件组成(详)
  18. CTF怎么快速入门?
  19. zimbra更换SSL证书流程
  20. ubuntu16.04安装wechat

热门文章

  1. mysql datetime 格式化_mysql日期格式化
  2. HTML+CSS静态页面网页设计作业——餐饮美食-武昌鱼(8页) HTML+CSS+JavaScript 使用html+css实现一个静态页面(含源码)
  3. VMware虚拟机安装Windows95教程和Windows3.1iso制作
  4. 一些英文写作里的常见实验表述(持续更新中)
  5. Golang 单元测试框架 gocheck 使用介绍
  6. 笔记本电脑插入网线显示未识别的网络,如何解决?
  7. 安装libXm.so.3 报错
  8. c语言中inline函数的作用
  9. webflow如何使用_如何使用Webflow构建和部署动态投资组合网站
  10. Express Reveal PPT 开发