希望认识做性能测试的朋友,共同学习提高。

webgis性能测试实践

上一篇 / 下一篇  2008-10-15 19:15:02 / 个人分类:性能测试

从事webgis测试有几年的时间,说来惭愧,做webgis性能测试的时候不多,而性能测试是webgis是绕不过去的,在性能测试的时候真的有很多收获,在这里以一个实际的webgis性能测试例子说明性能测试的过程。

      这是一个西部油田WEBGIS系统,开发语言ASP.NET,GIS平台是INTERGRAPHY公司的webmap 6.0,数据库ORACLE9.2。在这里首先重点要解释一个性能测试的术语“并发”,并发并不一定要是两个或多个同样的操作,两个或多个操作请求同时到达服务器,形成对服务器的压力,就叫并发。如在WEBGIS图形操作中,一个人执行放大操作,一个人执行缩小操作,一个人执行平移操作,只要操作请求是同时到达WEBGIS应用服务器,形成了对WEBGIS应用服务器的压力,这就形成了并发。而在WEBGIS系统中,用户对图形的操作一般思考时间是比较短的,所以WEBGIS系统的并发比例要高于一般的WEB系统的。

      其次,要做WEBGIS系统的性能测试,一定要深入了解WEBGIS系统的工作原理,了解WEBGIS系统的系统结构,一般的WEBGIS系统结构如下。

 

WEBMAP是基于COM组件的开发方式,安装完成后要配置DCOM权限,在服务启动后,在“windows资源管理器”中的“进程”栏中,会看到GMWebMap.exe进程。

 

WEBMAP的开发流程

 

说明:WEBGIS应用服务器产生地图,写入到服务器中的缓存文件夹中,并根据客户端的请求,返回到客户端。

特别说明:WEBMAP会根据你购买的license来决定你能启动几个GMWebMap.exe进程。并不是支持几个并发用户,这点要特别注意,我就曾陷入过这样的陷阱。

 

朴素的开发过程包括六个步骤:获得地图服务对象、指定坐标系统、连接数据源、定义特征类结果集、设置显示规则、产生地图。

MapServer对象通过两个步骤实现,首先使用IISSERVER对象创建MapServerManager对象,然后通过MapServerManager对象的MapServer方法获得MapServer对象,代码描述如下:(ASP程序,脚本语言为VBscrīpt
<HTML><HEAD></HEAD><BODY>
<% Set ōbjSesMgr = Server.CreateObject("GMWebMap.MapServerManager")
Set ōbjMS = objSesMgr.MapServer("")
objMS.Clear %>
</BODY></HTML>
MapServerManager
对象管理系统的MapServer进程,如果要成功的获得一个MapServer对象,系统当时必须有一个空闲的可用的MapServer进程,如果没有任何可用的进程,MapServerManager对象会等待一个指定的时间段(time out)同时轮询直到得到可用的MapServer进程。
MapServer
对象会缓存通过服务器产生的最后一个地图的相关信息,这些信息包含连接信息、特征结果集信息等。所以有了上面例程中的objMS.Clear语句。MapServer对象的Clear方法用来清除缓存的特征类信息,如果要清除连接信息,则需要使用DataSourceRemove方法。

 

通过上面的流程大家可以看到,虽然所有的请求都要经过IIS服务器,但获得地图服务对象,生成图形等复杂的操作都是WEBGIS服务器完成的,系统瓶颈应该是在WEBGIS应用服务器上。而WEBGIS是基于COM方式,在并发操作时必然产生进程的争用。基于上面的分析。我用LOADRUNNER8.1录制了WEBMAP自带的示例程序,录制过程很简单,在运行压力时,我首先采用2个用户,连续运行2分钟,监测数据主要监测“系统响应时间”和“吞吐量”,然后分别用5102050个用户连续运行2分钟。结果发现每次测试结果,“响应时间”曲线都是线性增长,并且在50个用户时,系统发生错误,运用“关联分析”,发现和CPU,内存和磁盘都有很大关系,也证实了前面的分析结果。

      基于COM方式的WEBGIS系统,在并发操作时产生进程争用,虽然有轮询,但必然会影响系统响应时间,并且生成地图写入缓存文件夹时,磁盘的转速等也必然对响应时间产生影响。做测试,前期详尽的分析非常重要,庖丁解牛,之所以游刃有余,就在于对牛的结构非常清晰。

 

 

 

 抱歉,因为图形传不上来,先写这些,我会把图片传上来的。

 

 

 

 

 


TAG: 性能测试

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 10165
  • 日志数: 17
  • 建立时间: 2008-06-30
  • 更新时间: 2010-03-04

RSS订阅

Open Toolbar