灵活的IP网络测试工具
一、 IP 网络测试工具背景
1 当前网络评估与测试现状
(1)业务部署前的网络质量评估
(2)端到端网络性能优化与验证
(3)广域网线路质量的日常评估验证
(4)AP路由器&无线终端WIFI测试
(5)服务器网络性能测试
(6)数据中心虚拟化平台性能测试
●缺乏专业网络性能测试工具
(1)开源测试工具
性能较差;
兼容性较差。
无详细测试评估报告
(2)自研测试工具
缺乏测试公正性;
场景易受限;
兼容性较差。
2 理想的网络测试工具
(1)快速部署,高效配置
安装简易快速,无需安装额外的系统组件;
点击鼠标次数尽量少;
修改配置便利。
(2)兼容性好
适配主流的国内外操作系统;
适配主流的CPU架构。
(3)测试结果精准且一致性好
每次测试结果公差小;
不同软件版本结果差异小。
(4)详尽的统计报告
基于整体测试的概要统计结果;
可展现历史详细测试数据。
二、 IP 网络测试工具 X-Launch
1X-Launch 网络测试工具
(1)基于软件的网络及应用服务性能测试工具
双臂测试;
单臂测试。
(2)通过测试端点产生网络流量对性能进行测量
TCP、UDP、PING;
语音、视频、HTTP、FTP、MAIL、组播。
(3)测试端点软件可以快速安装部署
2X-Launch 测试部署方式
局域网公网
(1)控制端(TestConsole)
安装于Windows 7(64位);
4核CPU,8 GB内存。
150 GB硬盘
(2)测试端点(TestPoint)
软件测试端点支持Linux、Windows、Android、VxWorks、各种国产OS
3X-Launch 测试工作原理
4 灵活部署于各类终端或系统
(1)支持的OS
Windows;Linux;Android;国产OS
(2)支持的CPU架构
x86;PCPU;ARM;MIPS;Alpha;网络接口;以太网;WiFi;3G、4G、5G
(3)网络接口
以太网;WiFi;3G、4G、5G
5 具备丰富的测试业务模型
6 测试结果图表与报告
三、 X-Launch 应用场景
1 丰富的应用场景 - 无线 CPE 测试
● 无线基准性能测试;
●无线衰减测试;
●无线方向性测试;
●无线信测试;
●无线竞争测试;
●无线并发测试;
●无线远近距离测试。
2 丰富的应用场景 - 虚拟交换网络测试
(1)在虚拟化平台的VM中部署TestPoint,测试vSwitch的交换性能
(2)常见测试指标
吞吐量;时延;丢失率;乱序
3 丰富的应用场景 - 服务器网络性能测试
(1)在服务器不同类型OS中部署TestPoint实现流量环回,通过硬件仪表打流测试服务器网络性能
(2)常见测试指标
吞吐量;延迟;丢包率
4 丰富的应用场景 - 无线网络性能测试
(1)模拟真实的业务TCP、UDP、语音、HTTP等应用流量
(2)常见测试指标
吞吐量、延迟、抖动、乱序;;TCP建立时间;HTTP 首字节、末字节时间迟;语音MOS
5 丰富的应用场景 - 异地网络专线性能测试
(1)在网络端到端两头部署TestPoint,通过一对一的方式测试网络的承载指标
(2)常见测试指标
TCPUDP吞吐量;单向延迟;抖动;乱序
四、 X-Launch 成功案例
1 成功案例 - 某大 NEM 无线 CPE 测试
(1)测试挑战
国际竞争日益激烈,科技战层出不穷,在网络性能测试领域也需实现自主可控,保障整体业务的持续发展:
测试结果公差范围内;
测试配置可替换。
(2)信而泰解决方案
Windows测试控制端,测试端点支持Windows、Linux以及Android,支持下述常见测试协议:
TCP;UDP;PING;HTTP;FTP;RTSP;Voice
(3)客户收益
测试的自主可控;测试功能更新快;对需求的匹配度更高
2 成功案例 -5G 专线测试
(1)测试挑战
某医院开通电信5G专线,需进行下列测试:
5G端到端切片性能验证,可用性、健康度、丢包率、上下行带宽、延迟和抖动等;
对5G端到端切片场景进行验证大流量上下行(视频、影像);
5G端到端压力测试。
(2)信而泰解决方案
Windows测试控制端以及测试端点部署在医院网络中心机房,Android手机运行测试端点软件在医院区域内进行测试。
使用的测试协议为:
TCP_TP;UDP_STREAM
(3)客户收益
验证了5G专线在医院可用性;
验证了5G专线端到端切片性能以及使用场景;
验证专线的使用范围是否可控。
五、竞争分析
所谓的序列化就是是将对象转换为容易传输的格式的过程,一般情况下转化打流文件,放入内存或者IO文件中。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象,或者和其它应用程序共享使用。反之,反序列化根据流重新构造对象。
说通俗一点的话就是:
序列化可以更好的保存信息,就算被打开的话信息也不容易被看出。
反之就一目了然了。。
至于保存在哪里都可以了。。
要在linux下打10m的流量,可以使用iperf工具进行测试。iperf是一款网络性能测试工具,可以测试TCP和UDP带宽性能。
具体操作步骤如下:
1 在服务器端安装iperf工具,可以使用以下命令:
```
sudo apt-get install iperf
```
2 在服务器端打开iperf监听端口,可以使用以下命令:
```
iperf -s
```
3 在客户端发起连接请求,可以使用以下命令:
```
iperf -c [服务器IP地址] -i 1 -t 10 -P 10
```
解释说明:
- -c:指定客户端连接服务器的IP地址。
- -i:指定iperf测试结果输出的时间间隔,默认为1秒。
- -t:指定iperf测试的时间长度,默认为10秒。
- -P:指定iperf测试的并发线程数,默认为1个线程。
通过以上操作,就可以在linux下打出10m的流量了。
需要注意的是,iperf测试结果会受到网络带宽、网络拥塞、网络质量等多种因素的影响,因此测试结果仅供参考。在进行iperf测试时,应该选择网络质量较好的时间段,同时避免其他网络流量的影响。
由于项目中需要用到dpdk,当时在服务器平台选型上有如下2种不同配置可供选择,为了理解老的Xeon处理器和Xeon金牌处理器对DPDK转发性能的影响,需要在两台服务器上分别进行DPDK l3fwd性能转发测试。
采用如下拓扑进行测试,测试仪的4个10GE端口连接X710-DA4的4个接口,测试时测试仪的4个端口同时打流,经过服务器DPDK转发后分别从X710-DA4网卡的不同接口送出,在测试仪的4个端口查看是否有丢包。在无丢包的情况下测试仪端口打流的最大速率即为服务器端DPDK能够提供的最大转发能力,以MPPS为单位。
(1) 在服务器上运行dpdk
/examples/l3fwd/x86_64-native-linux-gcc/l3fwd -l 4,6,8,10 -n 4 -w 0000:04:000 -w 0000:04:001 -w 0000:04:002 -w 0000:04:003 -- -p 0xf --config="(0,0,2),(1,0,4),(2,0,6),(3,0,8)"
运行l3fwd前有一些准备工作:
上述是DPDK官方的性能测试报告中建议的BIOS配置,在实际测试用我没有修改CPU C-state和P-state,并关闭了超线程的功能。
也可以通过 cat /sys/class/net/p6p1/device/numa_node 查看
在上述操作完成后便可以知道dpdk运行时应该设置参数。
(2)测试仪打流
在l3fwd运行起来后,会添加1921800/24、1921810/24、1921820/24、1921830/24四个网段的路由,因此在测试仪端4个端口设置流的时候需要将流的目的IP地址分别设置为上述4个网段的地址,流的目的MAC地址设置为对应接口的MAC地址。
上述的DUT2对应Server01,DUT3对应Server02,DUT1的性能数据和配置是从DPDK的性能测试报告中拿到的。DUT1、DUT2和DUT3的配置对比如下。
从测试结果可以看出,DUT3上运行DPDK就能够实现64字节数据包的线速转发。对比DUT2和DUT3的转发性能可以看出,基于 Xeon Gold 5118处理器的平台相比老的Xeon处理器平台,转发性能是有一定提升的。
当然,从我个人的理解来看,现在的转发测试只是测4条路由表的情况,路由表均能够存放到处理器的一级cache中,没有大规模内存访问的压力。如果有大规模的路由表或者服务器上多个网卡同时收发数据,并且涉及到跨网卡之间的数据包转发,当前的服务器能否实现性能的线性扩展还需要后面进一步测试。
使用命令进行打流。
使用udp协议,非面向对象连接传输协议,因此udp协议的关注点不是数据传输有多快,而是它的丢包率和延时指标。要了解更详细的UDP丢包和延时信息,可以在iperf服务端查看,因为在客户端执行传输测试的同时,服务端也会同时显示传输状态,最好查看服务器端的传输状态。
0条评论