ArcGIS Server管理与性能优化
ArcGIS Server性能优化

文件 19K 311K
硬盘大小 0.2 GB 1.2 GB
创建时间 1 hour 5 hours
比例尺选择的影响
• StreetMap USA
–48 states –缓存在6个 dual-CPU 服务器上
比例尺 1:500K … 1:64K 1:32K 1:16K 总大小: 57 GB
文件 4K … 0.3M 1.1M 4.7M
ArcGIS Server: 响应时间
Browser
• 四个主要的响应时间因素 • 多层 • 性能瓶颈在每一层都可能 发生
Transmission Time Web Server
Wait Time
SOM
Usage Time
SOC
Search & Retrieval Time
SDE
ArcSDE
检测瓶颈
–.NET 组件
• Web ADF • Mobile ADF
ArcGIS Mobile
–Java 组件
• Web ADF • Enterprise ADF
WebMap Applications
Business Applications
Integration Environment
Mobile Web .NET
–服务器对象可用性
内存瓶颈
内存瓶颈 – 解决方案
• 增加物理内存 • 限制主机上的容量
设置容量
• 限制运行在指定主机上的服务实例数. • 一旦达到这个限制,服务器开始取代最近很少使用的实 例,而不是创建新的实例. • 提供的大量服务仅仅其中的某部分会被经常使用
构建地图服务缓存
• 渲染 4K x 4K 影像
Web
ArcGIS Server性能优化

ArcGIS Server性能优化1影响时间的关键因素1.1客户端到Web服务器传输时间这部分取决于网络环境,从软件角度我们没有什么工作可以做,增加带宽就可以。
1.2服务器端的请求排队时间随着服务的增多和用户访问频率的加快,请求排队时间的影响将越来越明显。
因此将请求负载服务独立出来就很有必要,这就是所谓的负载均衡,也就是分布式部署。
目前我们在这一块没有做太多的工作,可以采用server本身就支持的分布式部署来提升性能。
1.3地图渲染时间1.3.1图层数目图层数据越多,渲染时间越长,因此应该根据具体的应用情况整合、合并部分图层。
1.3.2符号的复杂化显示符号越复杂,渲染时间越长,因此要尽量避免复杂的符号,多使用简单符号。
具体的原则为:使用简单线型、使用宽度较小的线型、使用实色填充模式。
1.3.3显示比例设置合适的显示比例,在满足实际应用的情况下,一般将显示比例设置的尽能大。
1.3.4图片大小和格式渲染时间与要素数量成正比,越大的图片写磁盘需要更长的时间。
根据项目具体应用,尽量采用合适的图片格式如png、gif等。
1.4数据库查询时间1.4.1设置合适的空间索引和属性索引ArcGIS支持三级空间索引,设置合适的空间索引是加快访问速度的关键因素1.4.2删除不必要的字段和记录字段越短越好,字段数据量越小越好1.4.3优化查询代码通过编写高效的查询代码来避免重复低效的查询。
1.4.4大表拆分为小表当表的数据量较大时,应该考虑拆分,可以横向拆分(分区)、纵向拆分(按类型分表)。
1.4.5尽量使用影象压缩技术或采用金字塔结构1.5采用缓存机制采用缓存机制,缓存客户端和服务器端的内容,可以减少数据库的访问次数和网络传输往返次数。
1.6采用MSDMSD是ArcGIS Server 9.3.1最新支持,它使用一种更快的地图渲染引擎,速度更快,效果更好。
1.7平台因素采用高性能或高版本的平台。
ArcGIS for Server新特性、部署架构及性能优化

注意问题: 增加请求开销 不具备高可用性 只能使用Token验证
基本部署+Web Adaptor
•
Web Adaptor是Esri 针对ArcGIS Server
的代理应用
•
支持IIS、 WebSphere 、 WebLogic 、 Tomcat等Web容器
•
提高第三方Web容器的安全,实现Web
层的安全控制
基本部署(主动+被动)
• 应用场景: • 内部使用或外网使用 可用性要求较高
优势: 包含了HA备份部署 备机的License不需要额外费用
•
注意问题: 依赖于外部的负载均衡 需要保持两个Server完全同步
基本部署(主动+主动)
•
应用场景: 性能要求高 发布地图切片 高性能 依赖于外部负载均衡
-
纯粹的维护版本,只是修复了一些bug
单个集群模式
• 在10.3.1 版本中,作为一个可选项被引入; • 在10.4 版本中,创建新站点或者升级原有站点(除了原站点具有多 个集群)过程默认启用单个集群模式。
单个集群模式
Server 站点
配置目录/ 服务器目录
只读模式
只读模式
GIS Server
小结
1. 单个集群模式 2. 只读模式 3. 更新注册/托管数据库的密码 4. Server对象拦截器(SOIs) 5. 默认 HTTP 和 HTTPS 通信协议 6. 安全脚本 7. 新的安全默认值:地理处理服务和服务器扩展 ……
3. 部署情景
典型部署情景
• 单机部署
- 单机基本部署 - 基本部署+代理 - 基本部署+Web Adapter - 基本部署(主动+被动) - 基本部署(主动+主动)
ArcGIS Server性能调整

ArcGIS Server性能调整ArcGIS Server产品的强大功能往往给了有些用户带来一定的认识误区。
有些用户会认为可以把c/s程序的使用模式和数据照搬到ArcGIS Server的应用系统中.。
ArcGIS Server的应用是b/s的应用,软件角度来讲涉及到数据库,web server,ArcGIS Server,浏览器,任何一个环节都有可能出现问题,所以ArcGIS Server系统需要很好的设计和规划,简单的功能移植只能得到低效率的ArcGIS Server应用。
其实ArcGIS Server的应用系统往往都比较大,特别是数据量都比较大。
用户都希望把大量的数据都通过网络共享给广大的浏览器用户。
由于ArcGIS Server简单功能的系统的构建是非常简单的,用户很容易就搭建出来了,因此当用户把大量的数据往ArcGIS Server系统上搬时并发现速度非常慢时,用户往往会认为是ArcGIS Server产品的速度慢,因此性能调整的考虑角度也仅仅从ArcGIS Server产品角度入手,这也给ArcGIS Server系统的性能调整带来一定的误区,忽略了ArcGIS Server系统中的重要组成部分――数据的性能。
当然,不同应用系统有不同的情况,因此在性能调整方面都要看具体系统情况,这里我们只是大致介绍一下ArcGIS Server应用性能调整的几个大的考虑方面:1 硬件和网络方面这方面我们不做过多的介绍2 数据方面1)数据量角度ArcGIS Server应用毕竟是b/s程序,网络传输很容易使它的性能瓶颈,除了增加网络带宽之外,当然也尽量要减少数据量,主要的原则是按需使用数据。
比如在对数据进行了分析之后,发现数据节点非常密,在不影响数据的浏览精度的情况下使用简化操作,减少数据量。
2)数据组织角度如果是文件方式的话,就没有什么可调整性,如果是sde中的数据,那么主要从两个方面对数据进行调整,一个是属性字段的索引,一个是空间索引大小的调整。
管理ArcGIS Server两种常见的方法

管理ArcGIS Server两种常见的方法一、常用的发布服务的方式是在catalog中发布,便于管理和查看,但在catalog中发布服务,必须在catalog中添加新服务,具体步骤是:1、打开Arcgis Catalog开始--ArcGIS--ArcCatalog,展开Gis Servers,双击“Add ArcGis Server”出现下图,选择Manage GIS Services;2、下一步,输入URL或主机名3、完成,可见主机状态及其服务4、添加新服务:可以直接找到发布服务的工作空间右键-发布,也可以用新添加的服务发布5、输入服务名称,选择发布服务的类型,默认的是启动刚刚发布的服务,然后下一步6、指定地图文件,其他选项可以根据要求设置,一般默认即可,一直下一布直到发布成功。
查看发布地图结果二、Web方式管理ArcGIS Server1、右键程序,arcgis,打开arcgis server manager选项,登录,(用agsadmin组的成员登录,格式为domain"user,如test"admin,password,这里test为机器名,admin是本地管理员帐户(将test加入agsadmin组和agsusers组后正常登录就可以管理ArcGIS Server:控制面板->管理工具->计算机管理->本地用户和组->组->agsadmin,agsusers);输入正确的用户名、密码后就进入ArcGIS SOM管理登录页面(发现:空密码实际并非支持)。
2、登录后的页面3、创建新服务,add new service-输入新服务名称—选择服务类型4、指定地图文件5、一直next直至finished,最后启动该服务即可(注:这里都是选择了默认设置,是池式,池化服务和非池化服务的区别以后再讲)。
预览结果服务发布完成。
ArcGIS Server解决方案

ArcGIS Server 是一个基于Web 的企业级GIS 解决方案,它从ArcGIS 9.0 版本开始加入ESRI 产品家族。
ArcGIS Server 为创建和管理基于服务器的GIS 应用提供了一个高效的框架平台。
它充分利用了ArcGIS 的核心组件库ArcObjects ,并且基于工业标准提供WebGIS 服务。
ArcGIS Server 将两项功能强大的技术--GIS 和网络技术(Web )结合在一起,GIS 擅长与空间相关的分析和处理,网络技术则提供全球互联,促进信息共享。
这两项技术协同工作,相得益彰。
ArcGIS Server为我们带来了许多可喜的变化。
与过去的WebGIS产品相比,它不仅具备发布地图服务的功能,而且还能提供灵活的编辑和强大的分析能力,这对于WebGIS发展可以说是具备里程碑意义的。
由于ArcGIS Server基于强大的核心组件库ArcObjects搭建,并且以主流的网络技术作为其通信手段,所以它具有许多令人欣慰的优势和特点,列举一二如下:2 集中式管理带来成本的降低。
无论是从数据的维护和管理上还是从系统升级上来说,都只需要在服务器端进行集中的处理,而无需在每一个终端用户上做大量的维护工作,这不但极大的节约投入的时间成本和人力资源,而且有利于提高数据的一致性。
2 瘦客户端也可以享受到高级的GIS 服务。
过去只能在庞大的桌面软件上才能实现的高级GIS 功能的时代终止于ArcGIS Server 。
通过ArcGIS Server 搭建的企业GIS 服务使得客户端通过网络浏览器(IE ,Netscapes )即可实现高级的GIS 功能。
2 使WebGIS 具备了灵活的数据编辑和高级的GIS 分析能力。
用户在野外作业时可以通过移动设备直接对服务器端的数据库进行维护和更新,大大减少了回到室内后的重复工作量,为野外调绘和勘察提供了极大的便利。
另外,ArcGIS Server 可以实现网络分析和3D 分析等高级的空间分析功能。
ArcGIS Server分布式技术实现与优化

2 We G S系统 框架 设计 bI
本 文 使 用 W e evc 技 术 实 现 多 个 We G S分 布 式 服 bS ri e bI
务器之间的相互通信 ,调用各 自的数据传 输到 统一 而又独
立 的 W eGI 户 端 。 b S客
图 1 W eGI b S系统 框 架
整个实现过程包括 :空间数据与 S E VE QL S R R之 间的 通信 、S E VE 与 WeG S分 布式 服 务 器 之 间 的通 QL S R R bI
2 Yu n n P o ica a i o aisCe t ro ia . n a r vn ilB scGe m tc ne fChn ,Ku mig6 0 3 n n 5 0 4,Chn ) ia
Ab ta t To s l e t eh r wa eh r l a if st eg o h W e GI f r t n ,a c m p e e s ep a f r t c n lg o n src : o v h a d r a d ys t i h r wt b S i o ma i s o r h n i lto m e h o o y f re — se n o v t r rs -e e S a p ia in a e n Ar GI e v rwe e v c sp o o e .W e e v c e g n r t n o e v c - r n ep i lv l e GI p l t sb s d o c S s r e b s r iei r p s d c o b S r ie i a n w e e a i f r i o i — s o s e e t d d s r u e o u i g mo e.W e e v c ,b sn h e e vc e v rb t e h u i e s lg c l n p t l n o m a e iti t d c mp t d 1 b n b S r ie y u i gt eW b S r ies r e e we n t eb sn s ia d s a i f r — o a ai t n l y r a u sa t l e l et el g c l n h s a i r u ie p o e sn e e h e GI y tm. Usn h e h i a e ,c n s b t n i l r a i h o ia d p y i l s i tv r c s i g s r ri t eW b S s s e o ay z a c d tb v n i g t et c — n q e o e e vc n c S S r e a e o v h mo n f W e GI n o ma in p o lm y ds rb tn e e a r iu f W b S r ie a d ArGI e v r c n r s le t e a u t o b S i f r t r b e b it i u i g s v r lW e o b S r ie e v c ,a d a s e o v h r b e o a d r .Att es metme h c S S r e e f r n eo i i a e v r e vc ss r i e n l r s le t e p o lm f r wa e o h h a i ,t e Ar GI e v rp ro ma c f nm l r e m s r s u c so c p n y r t ,mi i —ig t e a u to a a ta s s in,t emo ts i b e i g o m a n h e t d a t g f eo r e cu a c ae ‘ 。 zn h mo n fd t r n miso n mi h s ut l a ma e f r t d t eb s v n a eo a a t e e f in y o o ee e u in a eo t z d t e h p i 1s s e p r o a c ,h r wa e h fi e c fc d x c t r p i e O g tt e o t c o mi ma y t m e f r n e a d r . m Ke r s y wo d :Ar GI r e ; we e i ; W e GI c SS vr e b sr c v e b S; d srb t d s r ie o t z t n i iue e c ; pi ai t v mi o
ArcGIS Server地图服务性能优化策略

ArcGIS Server地图服务性能优化策略作者:俞亮,周吉金来源:《科技资讯》 2015年第8期俞亮周吉金(浙江省地理信息中心浙江杭州 310012)摘要:ArcGIS Server是一个用来构建集中管理、支持多用户的企业级GIS应用平台。
由核心的ArcObjects构建,是对ESRI其他两个应用服务器ArcSDE和ArcIMS的一个补充。
数字城市地理信息公共服务平台利用AGS提供的地图服务发布和管理功能,实现了海量空间数据的处理、发布、分享、管理业务。
ArcGIS Server的性能直接影响公共服务平台的使用性能。
影响ArcGIS Server地图服务性能的因素有很多,该文通过优化配置服务参数、调整地图数据显示、优化地图文档结构等多种手段对ArcGIS Server的地图服务进行优化,可以大幅提高地图服务的访问性能。
关键词:ArcGIS Server 地图服务性能优化地图缓存中图分类号:TP31 文献标识码:A 文章编号:1672-3791(2015)03(b)-0018-02①作者简介:周吉金(1984,12—),男,江西上饶人,硕士学历,工程师,研究方向:地理信息系统。
通讯作者:俞亮(1982,6—),男,浙江杭州人,本科学历,工程师,研究方向:地图学与地理信息系统。
随着数字城市建设的不断加快,越来越多的行业部门的应用系统通过调用数字城市地理信息公共服务平台提供的基于ArcGIS Server平台发布的地图服务实现了和数字城市的对接。
应用系统用户数量的不断增加,公共服务平台的地图服务负载压力越来越大,地图浏览速度逐渐变慢、数据查询性能降低。
为了提高地图服务的性能,笔者通过多种手段对地图服务进行优化,在一定程度上提高了地图访问速度。
根据实践经验,该文作者对一些优化策略进行了归纳,和大家一起分析探讨。
1 影响ArcGIS Server地图服务性能的几个因素影响ArcGIS Server地图服务性能的因素有很多,主要有以下几个因素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
68.5
64.3
50
0 SHP FGDB Oracle11g PostgreSQL SQL Server
大数据不同数据源矢量查询
• 大数据不同数据源矢量查询
– Shapefile劣势很明显 – 如果是只读操作File Geodatabase表现不错 – PostgreSQL 免费且足量
吞吐量KB/S
配置用户和角色的存储
•
配置用户和角色信息存储的位置
用户角色管理
•
添加用户
-
配置完存储位置以后,立即添加user和role可能会报错,重 启som和manager服务以后就可以了。
用户角色管理
•
添加角色
开启安全设置
•
激活安全机制
-
配置完用户角色以后再激活
设置服务的访问权限
• •
激活了安全机制以后,默认情况下所有的服务都不能匿 名访问 对于已有的服务,可以用特殊角色进行授权
•
根据最大吞吐量设置实例数 (通常为每个核有2 到4个 实例
最佳的做法是运 行测试实例,在 机器上查看CPU 和内存使用情 况。最大压力下 CPU使用80%为 最优
内存瓶颈(现阶段出现几率不大)解决
•
增加主机内存
•
限制主机上实例数
-
一旦达到这个限制,服务器开始取 代最近很少使用的实例,而不是创 建新的实例
Web Server (Windows/UNIX) Web Application
Web Browser ArcGIS Desktop
Web Service
ArcGIS Desktop
Administrator (ArcCatalog)
• • • •
GIS 服务器 Web 服务器 浏览器
SOM
Server Object Manager
• •
紧凑型切片生成更快、伸缩性更好 紧凑型切片更容易迁移
• •
在访问上,通常离散型的切片性能更好 另外,能使用虚拟目录的话性能提升很大
ArcGIS Server集群应该如何配置?
ArcGIS Server性能优化
ArcGIS Server 响应时间
• •
四个主要的响应时间因素 性能瓶颈在每一层都可能发生
1.5 seconds
4 seconds
缓存地图服务
• 在固定的比例尺 下以分块的方式 进行预先渲染
• 静态基础数据的 快速显示 • 以极佳的性能提 供丰富的制图符 号
动态地图服务最佳实践
总的原则
•
显示相关信息
-
启动简单图层 (其它的图层可以由用户控制显示)
-
使用字段可视性 (隐藏不需要的属性)
892.9 722.2 832.2
676
562.2 541.9
文件格式性能越压缩越差 数据库可能在压缩和I/O之间达到最优值
以一个4.7G的TIFF格式为例
数据无压缩无影像金字塔为数据源,将其导出为若干个不同压缩格式和压缩比的数据 大栅格数据无 LZ77算法压缩非常 压缩性能高 JPG不同 有限 的压缩耗 时差距不 压缩格式/压缩比 数据量 压缩耗时 某小范围预览耗 大 时 TIFF/无压缩 PNG/LZ77 JPG/100% JPG/75% JPG/50% FileGDB/无压缩 FileGDB/JPG/75% 4.72G 3.92G 2.05G 598M 396M 4.76G 1.73G 16分8秒 3分43秒 2分51秒 2分26秒 16分56秒 34分6秒 2.2秒 1093.2秒 1473.0秒 870.7秒 827.7秒 7.9秒 20.3秒 SDE压缩与 不压缩读取 差距很大, 可见数据库 对栅格数据 读取的因素 是数据量大 小
-
按照道路的通畅度符号化道路要素 显示最近工单的电力网络 土地利用
•
静态图层
-
-
路网
基础地形数据
•
分类是主观的,由应用决定
动态地图显示质量与速度的权衡
质量 vs. 速度
• 阴影地貌 • 透明图层 • Maplex标注
• 标准标注
缓存地图则不用权衡性能
•
同一环境同一地图文档采用的缓存地图和动态地图出图 性能比较
ArcCatalog
manager
服务发布——地图文档制作
服务发布——使用ArcCatalog
服务发布——使用ArcCatalog
服务发布——使用Manager
查看服务——在ArcCatalog中
查看服务——在Manager中
缓存管理
无反锯齿
反锯齿
ArcGIS Server的安全策略
如何选择我的栅格数据
•
不同数据源栅格出图
-
文件储存普遍要比入库后快 不同数据源栅格出图(输出为JPEG2000) 741 676 668.7 541.9 482.2 494.1
800 700 600 500 400 300 200 100 0
如何选择栅格压缩格式与压缩比
吞吐率(KB/s)
1000 900 800 700 600 500 400 300 200 100 0
(Windows/UNIX)
– 提供GIS资源服务,例如地 图和定位服务。 – Web应用和Web服务的宿 主,使用GIS 服务器 – 连接的运行在Web服务器上 的Web应用
Server Container s (Window s/UNIX)
桌面应用
– 间接连接的GIS 服务器, 通过运行在Web 服务器上 的Web服务 – 直接连接的GIS 服务器, 通过LAN – 管理GIS服务器
Web Application
Java/ .NET Objects ArcObjects Proxies
Server Object Manager
Server Object Containers
ArcGIS Engine
ArcGIS Desktop
GIS服务器
• •
服务器 = 服务器对象管理器(SOM) + 服务器对象容器 (SOC) 服务器对象管理器(Server Object Manager)
使用和比例尺一致的数据 (如果需要对数据做综合) 可以利用图层组的方式在对该比例尺下显示的所有要素类别进行可见比例 设置
•
使用比例尺
-
动态地图服务最佳实践
动态地图点、线、面渲染原则
•
点
-
为了更好的性能,使用简单的或者字符型符号 使用 EMF代替位图 使用整型 (vs. 字符型)字段作为唯一值渲染 避免晕轮(halos), 复杂形状, 掩膜(masking) 使用ESRI_Optimized 符号 避免制图线 (也包括多边形外廓线)
对于硬件增加运算能力
增强机器配置或 增加机器数量
一切为了 SOC
使用池化服务类型的服务
• •
状态信息 (如当前范围、图层可视性等.)维护在 web服 务器 /浏览器 由于共享对象池,提供较好的均衡
配置池化服务的实例数
• •
定义最大-最小 的实例数 实例分布在所有的主机上
根据硬件情况选取最佳实例数
冷/热 数据(秒) 0.357/0.156
0.734/0.203 0.920/0.250 2.386/0.562 冷/热 数据(秒) 0.530/0.160 2.636/0.343
范围约1000个要素(1104) 范围约10000个要素(10494)
8.034/0.500 29.952/1.310
从这些数据你想 到了什么?
•
线和面
-
ESRI_Optimized符号
• • •
所有填充的外廓线是简单的线,不是制图线 图片填充是 EMF,而非BMP
提高显示性能 > 50%
动态地图服务最佳实践
文本和注记
• • • • • • •
用注记(annotation)代替标注(label) 使用有索引的字段 (尽可能减少标注SQL查询次数和复杂性) 少用标注和要素冲突权重 避免特殊效果 (填充模式、晕轮、背景) 避免非常大的文本尺寸 (60+pts) 避免用Maplex进行动态标注 避免重用
ArcSDE/无压缩 ArcSDE/JPG/75%
4.86G 1.72G
41分2秒
77.6秒
14分11秒 20.3秒 fileGDB压缩后读取 性能差距很大
每个比例尺下应该显示多少数据
MXD还是MSD
可以看出使用MSD发 布动态数据性能更高
吞吐量
60000 50000 40000 30000 20000 10000 0 MXD_SDE(2.21s) MSD_SDE(0.69s) IMS_SDE(0.83s) 18468 56520 55440
25 20 15 10 5 0 19.4 7.8 1.6 8
4.3
1亿1千多万个ArcSDE矢量要素的出图性能
线数据范围(真实结果数) 范围约10个要素(8)
范围约100个要素(114) 范围约1000个要素(1341) 范围约10000个要素(10414) 面数据范围(真实结果数) 范围约10个要素(16) 范围约100个要素(133)
Data
GIS Server
Browser Server Object Containers
Web Application Server
Browser Web Application Java/ .NET Objects ArcObjects Proxies
GIS Server
Internet
Web Application Server
检测瓶颈
•
单用户测试是不能说明问题的
•
模拟多个用户