基于LoadRunner的WebGIS性能测试

2011-05-31 11:11王永刚
城市勘测 2011年6期
关键词:服务端脚本客户端

王永刚

(重庆数字城市科技有限公司,重庆 400020)

1 引言

网络地理信息系统(WebGIS)是Web技术与GIS技术相结合的产物,随着计算机技术和网络技术的迅猛发展,WebGIS已成为当前GIS应用领域非常重要的一环。当前主流的WebGIS应用以基于HTTP的B/S结构的瘦客户端模式为主流,用户只要拥有一台上网的计算机和浏览器,不需要安装其他客户端软件,就可以使用WebGIS带来的服务。

由于大部分GIS功能都集中在服务器端实现,服务端的性能直接影响用户的使用体验,超负荷的用户量甚至会使服务端崩溃。而WebGIS系统不同于一般的业务系统和网站,具有用户操作频繁,停顿思考时间短的特点,服务端压力也更大。

因此对系统性能的测试与分析,可以了解功能设计是否合理,系统能够承受的负载,也可以指导服务器配置的优化,满足大用户量访问的需求。

2 一个典型的WebGIS应用系统结构

《数字城市车灵通移动定位平台》是一个典型的WebGIS系统,该系统通过个人手机SIM卡和车辆GPS设备的信号接入,可以即时定位设备的坐标位置,查看一定时间内的移动轨迹,实现个人与车辆的跟踪定位,系统界面如图1所示。用户输入一个URL地址访问服务器作为GIS请求,服务器将默认的地图显示结果通过网络返回给客户端,之后,用户的每一个操作(如车辆定位、轨迹回放等)都会作为一个新的GIS请求等待服务器响应,以地图图片和点位参数形式返回给客户端展现。系统实现框图如图2所示。

图1 移动定位平台界面

图2 系统实现框图

由于该系统面向社会单位与公众,具有良好的应用前景,用户群体不断增加,在对系统的性能,及能够承受的并发用户数不确定的情况下,项目团队需要探寻系统可能存在的瓶颈,对系统实施性能测试。

3 LoadRunner简介

性能测试通常包含三个步骤,①生成用户操作脚本;②模拟批量的用户执行脚本;③分析性能测试结果。对于WebGIS系统,选用成熟的性能测试工具,能够良好的运作整个性能测试过程。

LoadRunner是美国Mercury Interactive公司开发的工业级负载测试工具。它是一种适用于各种体系架构的自动负载测试工具,能预测系统行为并优化系统性能。LoadRunner的虚拟用户引擎(Virtual User Generator)可以生成虚拟用户,以虚拟用户的方式来模拟真实用户的操作行为,并记录下用户的业务流程,然后将其转换为测试脚本。利用虚拟用户可以同时产生成千上万用户访问。通过模拟用户操作的行为,我们可以真实地还原WebGIS服务端在不同用户场景下的性能表现,并提供详尽的数据以进行分析。

4 测试实施与结果分析

4.1 测试脚本制作

由于性能测试的原理是通过模拟大量用户对系统服务端进行操作,形成真实的压力,因此首先确定系统最常用功能和对服务端压力最大的功能。在本系统中,可以判断为系统登录、地图查看、设备定位、设备轨迹回放四个功能。

使用LoadRunner的Virtual User Generator工具可以直接录制对系统的操作,形成操作脚本。对录制的脚本需要进行再编辑,设置参数化,关联,集合点,合理的思考时间等等,以保证模拟出真实的用户操作请求效果,通过LoadRunner强大的编辑功能可以简单实现。以下是脚本中设备轨迹回放的关键语句示例,对其中的车辆编号和时间进行参数化,实现了每次模拟都回放的不同车辆在不同时间段的轨迹:

4.2 运行测试场景

完成脚本制作后,使用LoadRunner的Controller设置运行场景进行压力模拟。该系统性能测试目标是为了探寻性能瓶颈,因此选用逐级增压的压力测试模式,每间隔一段时间增加并发的用户数量,监测系统和服务器性能的变化,探寻可能的性能瓶颈。设置的运行场景如表1所示。

运行场景设置 表1

4.3 测试结果分析

场景运行完成后,使用LoadRunner的Analysis对运行结果进行分析。

由功能响应时间(图3)可以看出,随着并发用户数的增加,功能响应时间也逐渐增加,其中在运行到4 min左右,接近100个用户并发时,响应时间显著增加,可以判断此时出现性能拐点。查看服务器资源使用图(图4)可以看出,内存使用基本无变化,而CPU使用率持续上升,在 4 min左右已经出现 Processor Queue Length值持续高于2,即CPU存在队列情况,网络传输量Bytes Total/sec已经达到约9.5 MB/sec,而测试网络的总带宽为10 MB自适应。

因此,可以初步判断,由于系统运行时对网络传输要求很高,CPU花费大量时间用于处理网络传输请求,CPU和网络带宽均存在瓶颈。

图3 并发用户数&功能响应时间

图4 服务器资源使用

4.4 结果分析与讨论

通过上述测试结果,开发团队对系统的网络传输内容进行分析,最终发现该系统的轨迹回放功能,在响应客户端请求时,会一次性将指定时间段内的设备的所有坐标信息传回客户端进行回放展现,而时间跨度越大,数据包甚至超过1 MB,导致系统处理能力显著下降。随后,对该功能进行了优化处理,实行分段传坐标数据,解决了此问题。

这只是该项目多次性能测试中的一例,针对项目的不同情况和需求,设计了大量的性能测试方案进行诊断。

5 结语

本文对一个典型的WebGIS系统,利用性能测试软件LoadRunner对其性能进行了测试,通过对测试结果分析诊断可能存在的性能问题,避免系统上线后的性能风险。随着技术的进一步发展和WebGIS更广泛的应用,在将来的工作中还需要对WebGIS系统的性能优化进行更深入的研究。

[1]陈述彭,鲁学军,周成虎.地理信息系统导论[M].北京:科学出版社,1999

[2]毕建涛.面向网络共享的地理信息服务研究[D].北京:中国科学院地理科学与资源研究所,2005

[3]钟大伟.空间信息服务模式及技术研究[D].北京:中国科学院遥感应用研究

[4]段念.软件性能测试过程详解与案例剖析[M].北京:清华大学出版社,2006

[5]陈绍英,夏海涛,金成姬.Web性能测试实战[M].北京:电子工业出版社,2006

猜你喜欢
服务端脚本客户端
酒驾
安奇奇与小cool 龙(第二回)
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
快乐假期
小编的新年愿望