一、简介
System Test是针对企业级GIS系统设计与监控测试,官方提供的一个用于Web和负载测试的工具,用于测试ArcGIS Server的服务性能。
目前,System test 可以测试的服务包含:
①动态地图Export Map、Query性能
②要素服务编辑性能(当前版本仅限于点要素编辑能力)
③标准OGC服务(WFS、WCS、WMS)
④地理编码
⑤影像服务
⑥切片缓存
⑦网络分析
⑧GP服务
二、安装
2.1 系统要求
指标 | 要求 | 备注 |
操作系统 | Win7、win8、win8.1,win10; Win server2008/2008 r2,win server2012/2012 r2, win server2016 |
|
RAM | 8GB |
|
.Net | 3.5,4.5 or 4.6 |
|
Microsoft SQL Server or SQL Server Express | 2008, 2012*, or 2014* |
|
office | 2010,2013 | 2016也可以 |
ArcGIS Server | 10.1及以上 |
|
2.2 安装
①
1.双击安装文件,选择 I Agree
2.选择安装目录,一切默认
3.指定server name和sql server instance name【如果是在本机,server name设置成本机的机器名,实例名无须设置】,点击安装
4.安装完成
动
三、使用
3.1 测试指标
System Test测试过程中,会实时动态显示度量指标,每个度量指标会在测试报告中生成图表。
1.测试度量指标
类别 | 度量指标 | 说明 |
Processor | %Processor Time | 处理器使用的时间百分比,百分比越高标识CPU使用越高 |
Requests | Requests/Sec | 每秒发送请求数。每秒请求数增加,会导致CPU处理时间增加。 |
Requests | Requests Response Time | 一次请求响应的总时间。CPU利用率越高请求时间会越长。 |
Disk | %Idle Time | 硬盘空间的百分比时间。百分比时间越低表示磁盘压力越大。 |
Transactions | Transaction/Sec | 每秒提交的事务总数。事务数越多,处理器处理时间越长。 |
Transactions | Transactions Response Time | 一次事务响应的总时间。CPU利用率越高,事务响应时间会越长。 |
Network | Bytes Sent/sec | 每秒发送的总字节数。 |
Network | Bytes Received/sec | 每秒接收的总字节数。 |
Memory | Available Bytes | 空余内存量。空余内存越小,表示占用内存越多 |
Memory | %Committed Bytes in Use | 提交的总内存百分比。百分比越大占用内存越多。 |
2.其他指标
度量指标 | 说明 |
CPU ST/Tr | 每个事务的CPU服务时间。访问用户数增加会导致每个事务的CPU服务时间增多。 |
Individual Transaction Response Time | 站在用户角度,每个用户执行所有事务的响应时间。如Export操作,会汇总所有比例尺下的Export操作的响应时间。 |
Avg.Content Length (in Bytes) | 请求响应返回的平均数据量大小。每次请求成功响应时,返回的平均数据量应该是一致的,在图上表现为一条直线。用于衡量请求是否有失败,同时检验测试的有效性。 |
Key Indicators | 同时展示了多个度量值:Transactions/Sec, Transaction Response Time and CPU ST/Tr。 |
Tier Based Process Utilization | 分层显示每层应用上处理器使用的时间百分比。如分别度量DB层、GIS层、CLIENT层上处理器的使用时间百分比。需要在System Test的preferences中配置 |
3.2 使用说明
以动态地图Export Map性能测试为例
1.新建工程Export
2.在右边目录栏中添加GIS Server,添加完之后,可以看到server中所有的服务
3.右键服务,选择View Services
4.服务加载之后,右下角会有显示的比例,以及服务加载时间
5.通过菜单栏的Envelope框选数据范围
6.点击Map工具,设置输出地图的范围,比例尺等参数
7.点击Save之后,会在Data Sources下自动生成bbox.csv文件,打开bbox.csv,可以看到输出范围,空间参考,像素等等
这些都是ExportMap所需的参数
8.创建测试,右键bbox.csv,Create Export Load Test, Scale Based Transactions Test
Scale Based Transactions Test会在每个比例尺下创建一个bbox.csv,同时会在Load Tests和Web Tests下增加测试项
①Transaction Aggregate Test:每次执行使用所有比例尺
②Scale Based Transactions Test:每次执行使用比例尺组中的一个输出比例尺。可以分析测试每个比例尺下的执行性能
③Layer Based Transactions Test(TroubleShooting):指定图层指定比例尺下的测试
9.创建完测试之后,会自动弹出Load Test窗口,需要填写相应的参数
Load Start:初始用户数
Load Stop:最终用户数
Load Step:每次增加的用户数
Step Ramp Duration:单步增加时间
Step Duration:不同用户负载持续时间?
上图意思就是:初始用户为1,然后每次增加1个用户,用时5秒,每次负载测试时间为3分钟,最终用户数为3
10. 默认的是只能识别Systemtest安装所在的机器,最多可以同时监测12台机器,怎么测试远程机器,在测试
11. 点击菜单栏Start Load Test,开始测试
12.开始测试
13.最终会生成一个表格,里面有各项参数的指标,很详细,很唬人,可以参照指标表解读
四、总结
Esri提供了一套完整的工具,从GIS平台的设计、测试一直到运维,但是这套工具却很少有人知道,原因是多方面的。个人感觉最重要的原因是GIS行业,大部分人只把GIS当成数据处理的工具,很少会去接触IT领域的知识。
System Test是用于企业级GIS平台测试的工具,功能上和Load Running比较接近,当然System test更有点入乡随俗,更加贴近GIS专业。从功能上来说,system test主要实现的是对现有GIS平台的测试,测试GIS平台是否能够满足业务需求,例如
①当前平台能否支持1000并发
②当前平台的短板是哪,是CPU还是磁盘读写,亦或者是网络?
③如果想满足某个业务需求,至少需要什么样的配置
......
所以说,GIS是个交叉学科,只守着这一亩三分地,挺困难的,还是应该多了解IT领域的知识。
【附录】
欢迎大家关注我的微信公众号:gis小僧
参考:
1. https://www.arcgis.com/home/item.html?id=e8bac3559fd64352b799b6adf5721d81
2. https://www.jianshu.com/p/6aa76fe9fb9e
态三地图export
map、query性能
②要素服务编辑(仅限于点)
③WFS、WCS、WMS
④地理编码
⑤影像服务
⑥切片缓存
⑦网络分析
⑧GP工具