一、目的

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

二、网络QoS指标

网络的QoS通常用以下指标衡量:

丢包率:由于网络拥塞,传输错误等造成的数据包丢失概率

延时:数据包发送到对端再返回到发送端的时长

延时抖动:衡量延时变化的程度

本次测试值模拟丢包率和延时与传输带宽的关系。

注:本文中的丢包率指的是在传输速率小于最大传输带宽时的丢包率。

三、测试方案

本次测试分两个阶段进行:

在丢包率为0的情况下,测试不同延时下的传输速率;

调整丢包率与延时,测试不同延时与丢包率组合下的传输速率。

四、测试环境

测试使用两位服务器:

Server A:10.10.168.151

Server B:10.10.168.153

两台Server之间通过千兆以太网连接(带宽为1000Mbps);

两台服务器上部署iperf,用于向网络加流量,并统计传输速率;其中Server A上运行iperf server端(iperf -s),Server B上运行iperf client端(iperf -c 10.10.168.151 -t 100000 -i2)。数据流量方向是:server B → server A。iperf client端启动1分钟,统计1分钟内的平均传输速率作为一次测试的结果。

在Server B上,使用tc 模拟不同QoS的网络环境。tc 可以在server的出口方向模拟延时和丢包的情况:

添加延时:tc qdisc add dev enp0s25 root netem  delay 50ms

添加丢包:tc qdisc add dev enp0s25 root netem  loss 3%

添加延时与丢包:tc qdisc add dev enp0s25 root netem  delay 50ms loss 3%

清空规则:tc qdisc del dev enp0s25 root

查看规则:tc qdisc ls dev enp0s25

五、测试结果

5.1  延时与传输速率的关系

丢包设置为0,延时从1ms 变化到 5000ms,测试每一个延时下的传输速率。下表为测试结果:

延时在4000ms以内时,传输速率能在1Mbps以上。当延时到达5000ms时,传输速率下降到200kbps。延时越大,达到稳定传输速率的时间越长。

注意:以上测试是在iperf采用默认的window size测试的结果;window size会影响到max cwnd和max rwnd,在延时比较大的时候,max wnd = MIN(max cwnd, max rwnd)决定了最终的传输速度;rate = max wnd/rtt;从测试的结果看,max cwnd比较小,这个值决定的传输速度;以300ms延时的测试点为例,通过-w参数增加发送端window size,传输速率可以提升到83Mbps,此时max rwnd决定了传输速度,此时,再通过-w参数增加接收端window size,传输速率可以到达450Mbps

5.2、延时、丢表率与传输速率的关系

丢表率从1%-10%变化,延时从10ms变化到1000ms,测试每一个组合下的传输速率。当延时/丢包率增大时,传输速率会下降,当传输速率低于500kbps时,不再继续增大延时/丢包率。下表为测试结果:

   

通过上表可以绘制丢包/延时与传输速率的曲面图:

X轴:延时(ms)

Y轴:丢包率

Z轴:传输速率(kbps)

通过曲面图,可以找到传输速率要达到500kbps/1000kbps时,延时与丢包率需要满足的条件

以上测试是单个客户端测试的结果。在Server B上启动多个客户端同时进行测试,只要总的传输速率不超过最大带宽限制,每个客户端的速率与单个客户端测试的结果相同。

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

  1. linux 无线网卡 延时 丢包 模拟,Linux模拟网络丢包与延迟的方法

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

  2. Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量

    目录 一. Iperf能做什么 1.TCP方面 2.UDP方面 二. Iperf的安装与使用 1.安装iperf 2.iperf参数介绍 三. Iperf应用实例 1.测试TCP吞吐量 2 . 测试U ...

  3. linux网络延时工具,Linux性能优化(八)——网络测试工具

    一.ping 1.ping简介 PING是一个网络工具,用来测试与网络主机俄连通性.PING通过发送ICMP ECHO_REQUEST数据包到网络主机,并显示响应情况,程序会按时间和成功响应的次数估算 ...

  4. 使用 iperf 工具测试 Linux 网络性能

    在 Linux 网络设备开发过程中,我们常常需要测试网络性能指标参数,找出网络性能瓶颈,从而优化我们的软件或者硬件设计.在 Linux 环境中,我们可以使用 iperf 命令工具测试网络性能,包括网络 ...

  5. Linux网络报文捕获/抓包技术对比:napi、libpcap、afpacket、PF_RING、PACKET_MMAP、DPDK、XDP(eXpress Data Path)

    Table of Contents 1.传统linux网络协议栈流程和性能分析 协议栈的主要问题 针对单个数据包级别的资源分配和释放 流量的串行访问 从驱动到用户态的数据拷贝 内核到用户空间的上下文切 ...

  6. linux网络协议栈之数据包处理过程,Linux网络协议栈之数据包处理过程

    这篇文档是基于 x86 体系结构和转发 IP 分组的. 数据包在 Linux 内核链路层路径 接收分组 1 接收中断 如果网卡收到一个和自己 MAC 地址匹配或链路层广播的以太网帧,它就会产生一个中断 ...

  7. Linux日常运维管理技巧(一)监控系统状态、监控网卡流量、监控IO性能、查看系统进程、查看网络状态、Linux下抓包tcpdump、Linux网络相关、DNS配置

    目录 监控系统状态 监控网卡流量 监控IO性能 查看系统进程 查看网络状态 Linux下抓包 Linux网络相关 监控系统状态 w/uptime查看系统负载 [root@zyshanlinux-01 ...

  8. linux数据包注释,关于 linux中TCP数据包(SKB)序列号的小笔记

    关于  SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq  一直没有找到seq 不清楚在那里初始化了,就 ...

  9. linux回包不是来包的ip,Linux 只能收到 SYN 包 不能回包

    Linux 只能收到 SYN 包 不能回包 问题 如果用户发现云主机不能登录,例如无法远程 22 端口或其他端口,但是更换网络环境正常,服务端抓包发现客户端发包只有 SYN,没有回包,可以执行 net ...

最新文章

  1. 客户端验证不能代表服务器端验证
  2. 杨元庆谈三年变化:IBM到底给联想带来什么?
  3. lua 字符串分割_Lua函数式编程(中)
  4. c++内联函数解析(inline)
  5. if函数判断单元格颜色_excel中的if函数,实现自动判断
  6. Python中列表的增、删、改、查、排序
  7. C#值类型和引用类型的区别
  8. 预处理、const、static与sizeof-static全局变量与普通的全局变量有什么区别
  9. 《每日一荐月刊》2019-11
  10. python3网络爬虫-介绍
  11. 家用文件服务器raid,家用NAS搭建RAID指南 总有一款适合你
  12. 显示器色彩精度测试软件,色域及色彩精准度测试_液晶显示器_液晶显示器评测-中关村在线...
  13. Python获取时光网电影数据
  14. Peoplesoft Pentest
  15. 怎样让你的LinkedIn动态上热门?高效使用我们的领英
  16. ariang修改默认服务器,Aria2一键安装脚本,宝塔面板搭建AriaNg前端面板
  17. Linux apt-get 安装离线包
  18. python函数进阶小结_python函数的进阶
  19. UI文案设计技巧,视觉与内容兼具不再是梦
  20. 多家技术公司喊停的人脸识别业务,被这家波兰网站玩火了!

热门文章

  1. 三个打印函数printf()/sprintf()/snprintf()区别
  2. Android 使用自带的HttpClient进行https请求出现403的解决过程记录
  3. WindowsXp 平台安装Oversim+INET+OMnet++
  4. 开始学习Solaris
  5. 8年程序员210天没找到工作,小公司老板:降薪5千,爱来不来
  6. 建模算法(四)——动态规划
  7. 【洛谷 P2763】 试题库问题(最大流)
  8. 消除warning方法
  9. 软件黑盒测试的意思,请问黑盒测试是什么意思?
  10. oracle导入脚本乱码,imp导入乱码解决