Avalanche 作为L4-7测试界的扛把子,因其功能齐全、流量真实、性能高而广泛应用于各大运营商、测评中心、高校、研究所和设备厂商,提供对网络基础架构、Web应用基础架构以及Triple Play服务的容量、安全和性能测试,以保证QoS和QoE。Avalanche可以模拟客户端,测试各种服务器;也可以同时模拟客户端和服务器,测试中间的网络设备或整个网络架构。本文通过对Avalanche硬件、软件以及测试创建流程介绍,手把手教您开启L4-7的测试之路。
Avalanche的硬件家族:C1, C100/GT, C100-MP, C100-S3-MP, CF20, Virtual以及工作于STC机框的MX系列板卡,MXP系列板卡,MX2系列板卡,CM-1G系列板卡以及EDM-2002B/2003B等。
PS: 因技术和硬件的发展和传承,具体硬件设备所能使用的版本请联系support咨询。
Avalanche的软件家族:Spirent Testcenter Layer 4-7 Application.exe(用于创建测试、配置参数、开始测试和获取测试结果),Spirent Testcenter Layer 4-7 Results Analyzer.exe(用于打开并分析测试结果)
Avalanche模拟客户端用于测试服务器的拓扑模型:
图1. Avalanche模拟客户端测试服务器模型
Avalanche同时模拟客户端和服务器用于测试网络设备的拓扑模型:
图2. Avalanche同时模拟客户端和服务器的测试模型
我们将以Avalanche同时模拟客户端和Server端的模型来讲解开始测试的过程。先来看一看测试前的准备过程:
1. 根据测试需求,分配测试端口,物理连接测试端口和被测设备端口,划分好测试网络,并根据物理连接状态画出拓扑图:
图3. 测试拓扑
2. 打开Avalanche界面,连接测试仪表并占用可用的端口
仪表的占用从菜单栏的Administration进入,如果是STC上的板卡、C1、C100-MP、C100-S3-MP、CF20、Virtual设备要选择Administration下第一个子菜单,如图4所示;而如果是C100或C100GT设备则需要选择第二个子菜单,如图5所示。
图4. 连接STC、C1、C100-MP、C100-S3-MP、CF20、Virtual
图5. 连接C100或C100GT设备
选择之后即打开设备管理界面,在Equipment下拉菜单选择Add Chassis,并填写设备的管理IP地址,连上之后,将在My equipment下显示此设备和设备下的端口信息。如下图6-8所示。
图6. 连接chassis
图7. 填写管理IP地址并点击Add
图8. My Equipment下的设备信息
图8中的端口信息显示,红色状态灯表示端口被其他人占用或暂不可用,蓝色表示被自己占用,绿色表示端口处于空闲状态,可被占用。选择步骤1中物理连接的端口,确定其状态灯为绿色,并右键点击选择Reserve菜单,端口即被占用,此时端口状态变为蓝色。
图9. 端口占用
3. 了解Avalanche Commander的软件界面:
图10. Avalanche主界面
上图左侧是一个导航树的结构,Avalanche测试是由Projects(项目)以及Projects下的Tests(测试)组成的。同一个Project里面所建立的测试元素在不同的Tests之间是可以共享的,不同的Projects之间的Tests是独立的。Avalanche所模拟的元素以及对测试的控制都在Tests里面实现。
右侧即为测试中所需配置的元素和参数。所配置的元素和参数主要分为Client和Server两部分,下面就通过这两部分分别介绍。
客户端(Client)配置:
客户端分为Loads, Actions, Profiles, Network, Subnets, Ports和Associations几个子标签页,如下图所示。其中Loads, Actions, Profiles, Network, Subnets, Ports为各网络元素的模拟配置,Associations是将前面的各子标签页所设置的元素关联起来形成当前的测试配置,这里Associations和其它子标签页的关系就像主函数和子函数的调用关系。各子标签页所设置的元素和含义如下:
图 11. Client页面
Loads: 配置所模拟的网络流量大小,具体含义和配置方法,可参考历史文章“Avalanche中的Load类型定义”和“Avalanche-Load压力设置”,用户可以在Default上面直接配置或是新建一个Load的profile来进行配置,这些配置的Load Profile都可以在Associations的Load profile下拉菜单显示出来进行选择。
Actions: 配置所模拟的每个用户做的动作,每个action都是到Server端去请求一个object,类似于我们上网在浏览器地址栏所写的网址去请求网页或文件。不同的协议有不同的语法结构,在Default的Action list中会有例子参考。
Profiles: 配置所模拟的用户的一些行为,可以创建多个用户Profile来模拟不同的行为,具体使用可在Associations中做关联。
Network: 配置所模拟的客户端网络参数,主要包含IP层和TCP/UDP层的参数。
Subnets: 为所模拟的用户分配IP地址和配置路由,通常设置一个或多个subnets,每个subnet都是一个地址池,Avalanche为每个生成的模拟用户从这个地址池分配IP地址。此外,VLAN/MAC/IPSec/GTP等设置也在subnets中进行配置。
Ports: 为客户端配置物理端口,也就是添加哪个端口用来模拟和发出客户端的流量,如本文开始时创建的拓扑,需要将设备的Port 5添加到client端的Ports标签页。当然,如果测试需要,可以添加多个端口,在Associations界面中根据实际的拓扑结构做好关联即可。
Associations: 将前面的配置关联起来形成最终的测试配置,相当于建立主函数,完成对前面创建的子函数的调用。
服务端(Server)配置:
服务端配置分为Profiles, Transactions, Authentications, Network, Subnets, Ports和Associations子标签页,和客户端类似,服务端的主函数也是Associations标签页,完成对前面几个标签页所创建的子函数的调用,最终测试所模拟的Server的配置即是Associations标签页的配置。
图 12. Server页面
Profiles: 配置所模拟的服务器类型及服务器具体参数。可以在Default上进行修改或是创建新的profile,也可以根据测试需求建立多个服务器的profile,在Association中做好关联即可。
Transactions: 为HTTP或HTTPs服务器配置响应页面或响应文件。当创建了所需的Transaction后,需要在Profiles界面做关联,如下图标红部分所示:
图13. Server Transaction关联
Authentications: 为所需做认证的Server创建认证属性。所创建的认证属性也需在Profiles界面做关联。
Network: 同客户端,为模拟的Server设置网络参数,主要配置IP层和TCP/UDP层参数。
Subnets: 同客户端配置,为模拟的Server配置网络和路由。
Ports: 同客户端配置,为服务端分配端口,由此端口模拟Server和发出Server端的流量。
Associations: 同客户端配置的含义,将前面配置的元素关联起来,并给Server配置IP地址。
在做好前面理论和物理连接的准备后,就可以开始你的测试之路了。具体操作如下几个简单的步骤:
1. 创建一个Project,如下四个步骤所示:
① 点击快捷键或从File下拉菜单New->Project
② 为Project取一个名字
③ 点击Browse为所创建的Project选择保存目录
④ 点击Finish,完成一个Project的创建
图14. 创建Project
2. 创建一个测试Test,如下几个步骤所示:
① 点击快捷键或File->New新建一个测试
② 为新建的测试选择一个Project(即此Test会创建在哪个Project下)
③ 点击Next
④ 为测试起一个名字
⑤ 点击Next
⑥ 选择创建Application测试(只用Avalanche来模拟客户端)还是Device测试(Avalanche同时模拟客户端和服务端),此处我们选择Device测试
⑦ 点击Next
⑧ 选择测试类型:
Quick(快速测试类型,测试参数较少,可根据需要转换为Advanced类型);Advanced(高级测试类型,开放的可配置参数多,配置更灵活);
EZ Test(EZ测试类型,主要用来配置端到端流量)
⑨ 点击Finish完成测试
图15. 创建Test 1
图16. 创建Test 2
图17. 创建Test 3
图18. 创建Test 4
3. 根据拓扑图,分别为客户端和服务端分配测试端口,下图为Client端加端口的例子。
4. 根据拓扑图,在Subnets中分别为客户端和服务端分配测试网络,并配置路由及VLAN等信息,下图是设置Client端Subnet的例子。
① 点击Add Subnet
② 给添加的Subnet起一个名字
③ 根据拓扑图设置地址范围
④ 设置Default Gateway
图20. 配置网络信息
5. 根据拓扑图中所模拟的Server类型和IP地址,分别为客户端配置Action list、为Server配置Profile和地址。
Client端Action设置,根据所要模拟的HTTP协议,写语法结构,地址为拓扑中Server的IP地址。
Server端Type设置为HTTP服务器,如需要修改响应页面,则可设置相应的Transaction并做关联。
图21. Client端Action设置
图22. Server端Profile设置
6. 根据前面的设置创建Client的Association和Server的Association,并将前面的配置关联进来。其中Server端需要在Association中设置服务端的IP地址,客户端的Load和Profile,以及两边的Network可以先使用默认配置,后续在测试中根据需要再做详细的配置或调试。
图23. Client端Association
图24. Server端Association
7. 完成前面几个步骤的配置就可以点击“Trial run”来尝试测试了,此时Avalanche只会模拟一个用户来跑测试,会自动保存抓包文件,此测试用来帮助调试测试是否成功。
如果Trial run成功,则可以根据需求配置Client端的Load并在Association中进行关联,并点击Run来进行正式测试。
图25. Trial Run
图26. 创建并关联Load
图27. Full Run
测试中以及测试结束均可查看结果,通过Analyzer查看结果还可以生成测试报告,此部分详细内容可参见往期文章“Avalanche-查看测试结果及生成测试报告”。
以上就是本期的全部内容,想深入了解Avalanche和L4-7测试,欢迎关注我们并查看往期文章。
关键字:Avalanche,L4-7测试,测试工具,用户模拟,服务器模拟,真实流量,安全测试,性能测试,测试流程,测试指南
联系我们:
思博伦官方网站: www.spirent.com
技术中心热线: 400-810-9529
支持邮箱:support@spirent.com
售后网站:support.spirent.com
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved