在布署测试系统前,需要对被测系统的布署架构有一定的了解,这样有利于在执行测试时的调优及问题排查。
- 测试系统网络
如果被测系统是部署在云主机上,测试系统也准备部署于云主机时,在开通测试云主机时有一些网络方面的问题需要处理。
在开通测试云主机前,先要规划测试系统网络。为了排除网络的影响,设备连接压测一般都是通过内网,API网关接口只能通过外网调用,因此我们需要两套测试系统,一套内网系统,用于设备端测试,要将测试机器与被测系统开在同一虚拟私有云VPC下,若测试系统机器与IOT HUB的LBS或HA-PROXY(与测试系统部署有关,即系统设备内网连接地址)不在同一个子网下,需要开通子网间安全组通信端口,如MQTT协议端口为1883。
- 选用测试工具
目前市面上的测试工具有很多,其中商用付费的有Loadlunner等,免费开源的有Jmeter等。Jmeter测试框架免费,且已经有免费开源的MQTT插件,lwm2m插件,如业务需要开发扩展插件可以基于现有的MQTT插件,能很大程度上减少工作量,API网关测试插件可以通过扩展JAVA SAMPLER的方式来实现。因此,此例选用Jmeter测试框架。
- 估算测试机配置
以每台测试机模拟5w设备为标准测算测试机配置如下(以下称为内网系统):
- CPU:8核
- 内存:32GB
- 操作系统:CentOS7.2 64位
再根据测试目标容量估算机器台数。
- 布署测试系统
测试系统采用的是性能测试平台XMETER。XMETER是基于JMeter开发的测试平台,它解决了很多Jmeter存在的问题,能够轻松发起百万级压力,秒级自动调度测试,集中、自动化管理测试机器,按需使用、使用后系统自动释放,实时搜集测试数据并形成标准化报告等,极大程度上方便了性能测试。
XMETER系统负责测试数据、测试机监控数据、被测系统监控数据的处理,负责资源管理、测试管理,发起压力等,用户只需登录门户上传测试脚本运行即可。在此次性能测试中,被测系统采用系统带有的DOCS管理平台进行监控。