您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于ArcGIS的GIS应用服务平台性能调优
基于ArcGIS的GIS应用服务平台性能调优张志强(天津中科遥感信息技术有限公司,天津,300384)摘要:基于ArcGIS开发的WebGIS应用平台,其性能问题是衡量系统优越性的标准之一,所以需要通过多种手段调优系统,来保证系统的正常稳定运行。本文从多个角度调整GIS应用服务平台,保证平台的正常运行。关键词:WebGIS、ArcGIS、系统性能优化1.概述传统的GIS系统多数以C/S结构开发建设,不能满足GIS网络化使用的需要。随着WebGIS应用的展开,服务的性能正逐渐成为制约WebGIS发展的瓶颈。当前WebGIS实现方式主要有胖客户端和瘦客户端两种方式。在胖客户端方式下,空间数据的绘制与操作是在客户端进行的,而在瘦客户端的方式下,客户端看到的是服务器端渲染好的某种格式的图片,操作也是有服务器端进行处理。这两种方式都有各自的特点,但是考虑到实际运用中用户体验性和数据保密性等要求,一般采用瘦客户端方式开发。在实际工作中,由于数据量大、使用频繁,平台的服务负载较为沉重,平台服务性能问题是制约平台建设的瓶颈问题,也是衡量平台建设的标准之一,应采用多种方式保证平台服务性能。2.平台部署结构平台采用ESRI公司的ArcGIS9.3系列软件搭建,采用Oracle10g作为平台使用的数据库系统。平台包括多层架构,系统总体结构从下到上主要分为网络层、数据层、功能层和应用层。平台的调优可以从多个层次进行,包括数据层、功能层和应用层等。3.系统性能优化方案3.1.对于数据库和ArcSDE进行优化文献[1]研究了基于Oracle和ArcSDE的空间信息访问的优化操作,分别从操作系统、内存、磁盘I/O等多方面进行了性能的改进和优化。其优化原则是将访问频繁的文件分开放置到不同的硬盘上,降低磁盘I/O竞争。在工作中,可以使用磁盘阵列的方式,将一份文件分割存于几个硬盘上,提高磁盘吞吐量和速度,同时为表和索引建立不同的表空间,建立和调整ArcSDE的空间索引等方式对数据库和ArcSDE进行性能优化。在系统运行期间,通过对存储参数、内存使用参数等方面的处理,提高系统运行性能。3.2.建立影像金字塔结构指在同一的空间参照下,根据用户需要以不同分辨率进行存储与显示,形成分辨率由粗到细、数据量由小到大的金字塔结构。影像金字塔结构用于图像编码和渐进式图像传输,是一种典型的分层数据结构形式,适合于栅格数据和影响数据的多分辨率组织,也是一种栅格数据或影像数据的有损压缩方式。在实际工作中,对于存储在ArcSDE库中的影像数据,制作多级金字塔结构可以加快不同比例尺下的数据读取速度,同时,在建立影像金字塔结构式会采用压缩算法,并不会给实际运用带来过大压力,所以应建立影像金字塔以提高服务性能。3.3.服务器分布式部署平台大体可以分成两类服务:池化与非池化地图服务。在SO池化服务中,启动需要花费大量的内存资源,随着用户不断增加,内存耗用将不断增大,而用户退出系统不释放instance与内存耗用,当内存或instance耗用达到极限时,SO服务就崩溃,导致最终图形浏览系统无法正常运行。而在图层管理、图形编辑、图形数据上传、入库、打印操作等都是非池化地图服务方式,其内存耗用不大,用户退出系统释放instance,编辑与打印系统相对来说较为稳定。针对这种问题,需要对于服务器的部署进行详细的设计,以解决服务器负载问题。本系统使用ArcGISServer进行图形服务的部署,ArcGISServer服务器架构包括:SOM——管理在唯一主机上的windows服务,用于管理分布在各个SOC上的服务对象;SOC——可以装在多台机器上,是服务对象的宿主。每一台SOC机器可以产生多个Containerprocesses,一个Containerprocesses可以运行多个服务对象,Containerprocesses是由SOM来管理的。(每台SOC机器都需要一个授权文件)WebApplicationDeveloperFramework——Runtime&SoftwareDeveloperKit,Runtime安装在WebSever机器上,SDK安装在WebApplication上。平台把ArcGISServer应用进行分布式部署,由一个SOM和多个SOC组成,SOM起到负载均衡的作用,具体的请求由SOC来完成。系统利用多台服务器搭建,以满足大用户量的图形服务需求,具体结构如图所示:图1图形服务器部署方案图GIS服务器本身包括两个部分:分别是SOM与SOCs,一个SOM和多个SOC。系统工作流程为:客户端发送请求到SOM,SOM将分配的资源提供给客户端,通过SOM对SOC进行调度与管理。通过这样的部署结构,可以有以下特点:高可靠性(HA)。利用集群管理软件,当主服务器发生故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。高性能计算(HP)。即充分利用集群中的每一台服务器的资源,实现复杂运算的并行处理。负载均衡。即把负载压力根据某种算法合理分配到急群众的每一台服务器上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。通过对图形服务器的部署操作,使得大用户量对于系统负载的压力降低,可以满足更大用户量对于系统的图形操作需求。[3]3.4.建立服务器端地图缓存为了保证用户的体验效果和服务器的负载量较低,在地图浏览等功能上采用地图数据切片技术以保证性能和服务的高质量。地图数据切片技术使用缓存来显著提升系统性能和用户体验。地图缓存包含了不同比例尺下整个地图范围的地图切片的目录,如图所示,该图像包含了三个比例尺的图片缓存,这样在服务器响应客户端的图形请求时,不需要动态生成地图图片,而是将这些切片返回给客户端。从缓存中返回一个切片远比动态生成地图要快很多。ArcGISServerWebADF程序可以通过虚拟目录来在地图服务中使用切片缓存。图2地图切片示意图系统采用缓存地图服务可以动态地改进客户端用来显示复杂的地图所花费的时间,一个客户端使用缓存地图服务获取和显示地图是仅仅是受到带宽的限制,而这在局域网中,带宽性能限制可以被忽略。所以由于地图切片是事先生成的,而不需要动态绘制,因此在内网中使用地图缓存切片技术既可以保证地图图像质量,又可以快速响应客户端的地图请求,从而显著提升系统性能。同时,缓存地图服务实用的服务器资源远少于动态地图服务。客户端与服务器初始连接后,一旦发现有缓存结构的存在,就不再需要与服务器打交道,而是直接从缓存路径中得到地图切片。ArcGIS系统提供了多种途径来创建一个缓存地图服务,ArcCatalog、ArcToolBox、ArcGISServerADF或者ArcEngineAPI都可以创建缓存地图服务。所以,在系统中使用地图缓存切片技术简单易行并且可以提高系统性能。但是地图切片技术也有自己的缺点,就是经常更换变动的系统服务和要进行应用处理的服务不能使用地图切片技术提高系统性能。3.5.定期系统维护定期性释放服务器内存,IO资源,重启SO地图服务,保证SO服务Instance数量、内存耗用水平回到最低水平。同时,可以让系统管理员设置系统维护服务器的周期,维护的方式与维护的范围,保持系统的正常有序的运行。3.6.其他性能调优措施文献[4]探讨了WebGIS系统的性能问题,有些是实际项目中需要遵守的,比如数据精简化、坐标系统问题、图层细化显示、按需加载等。1、数据性能调优在数据性能调优上,原则上尽量减少数据量的使用,按需使用数据。在ArcSDE中的数据,主要从两个方面对于数据进行调整,一个是属性字段的索引,另一个是空间索引大小的调整。属性字段索引:特别是对于经常要进行搜索的字段都要进行索引的建立。空间索引大小的调整:索引大小会非常影像数据的浏览和空间查询的速度。空间索引大小的调整依照数据的每个单元的大小而定,建立2级索引。[3]2、服务性能调优在服务性能调优上,如果一个服务包含大量的图层,并不把所有的图层都放在一个服务中,可以把图层进行拆分,做成几个服务,然后在服务应用中进行组合,这样就可以使用多个进行来完成,从而减少系统处理时间。同时,拆分可以使不同的用户使用不同的服务,实现按需使用数据的原则。在服务设置方面,多设置服务的池化与缓存服务,可以进一步提高速度。3、调整服务实例在平台实际运行过程中,需要根据每个服务的作用,访问人数等情况,动态的修改每个服务的实例数。使得每个池化服务的实例数可以满足服务运行的需要。同时,因为每个CPU的内核可以运行2-4个实例数,所以过多的服务实例会影响平台运行的性能。4、采用适当的客户端框架Flex框架可以合理分配负载,减轻服务器压力,反应速度快,其能力快速反应能力非常强,基于FLEX+REST的应用架构,REST负责将需要的数据传回客户端,压力较大的渲染工作放到客户端进行了,有效减轻了服务器的压力,用户体验更佳,视觉效果更好。4.结束语作为实际运行中的平台,我们可以从以下几个方面进行系统性能的调整和优化:1、对于数据库和ArcSDE进行优化;2、建立影像金字塔结构,提高影像的显示速度;3、将服务器进行分布式部署;4、建立服务器端地图缓存,加快地图读取速度;5、定期进行系统维护;6、其他一些应注意的性能维护措施。平台的性能调优是一个综合性的工作,需要有专门的人员对平台不断进行维护和更新,在工作中不断总结,不断调整,使平台能够正常运行。参考文献[1]赵村民,宋利好,赵晓民.基于Oracle与ArcSDE的空间信息访问优化[J].吉林大学学报,2004,22(3);283-288.[2]《Oracle9i数据库高级管理》,飞思科技产品研发中心编著,电子工业出版社[3]《WebGIS开发—ArcGISServer与.NET》,刘光,唐大仕编著,清华大学出版社[4]BaptistaS,NunesC,SousaCP.OnPerformanceEvaluationofWebGISApplications[C]//Proc.ofthe16thInternationalWorkshoponDatabaseandExpertSystemsApplications.Copenhagen,Denmark:IEEEComputerSociety,2005.
本文标题:基于ArcGIS的GIS应用服务平台性能调优
链接地址:https://www.777doc.com/doc-2568430 .html