[转]企业级 GIS 性能和可伸缩性(二)——应用程序
应用程序架构策略的选取应在满足业务和功能要求的基础上,充分发挥组织内各成员的技能水平。本节对企业级 GIS 解决方案性能和可伸缩性的常见影响因素的关键领域进行了概述。有关特定应用程序架构性能和可伸缩性的详细指导信息,请选择下面任一链接。
性能因素
所有的 ArcGIS 应用程序架构普遍存在以下几个常见的性能影响因素。下表依据各关键组件对总体性能的相对影响(正面或负面)划定了几个等级。例如,使用频率较高的地图服务的性能可能会对最终解决方案的总体性能产生较大的影响。
因素 | 影响* | 注意事项 |
---|---|---|
中 | CPU 和磁盘配置特征;网络带宽和延迟评估。 | |
客户端应用程序 | 高 | 应用程序接口具有其自己的性能和功能专用标准。 |
高 | 包括动态数据源和缓存数据源以及符号系统在内的“地图服务”文档特征;包括数据简化、索引使用以及图层文件在内的“地理处理服务”特征;包括地址定位器类型在内的“影像服务”栅格数据类型、“地理编码服务”和“Globe 服务”;包括数据更新提交和服务缓存大小在内的“移动服务”以及包括版本维护、复制方法和数据模型要求在内的“地理数据服务” | |
ArcGIS 配置 | 中 | 服务器对象管理器 (SOM) 和服务器对象容器 (SOC) 计算机配置、Web 服务处理程序,以及虚拟目录的使用。MIME 和 URL,以及安全策略。 |
中 | 数据源存储类型、格式、数据位置,以及数据库配置和维护例程。 |
*其中“高”表示对总体性能有较大影响(正面或负面)。
相关链接
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
From: resources.arcgis.com
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
Performance Factors
To supplement the general enterprise GIS performance factors listed under Application Performance Considerations typical performance factors impacting Rich Client applications are listed below. For these performance purposes, Rich Client applications are primarily ArcGIS Desktop applications and applications built from ArcGIS Engine. However, many of the concepts apply to ArcGIS Explorer and some web applications as well.
Factor | Impact* | Considerations |
---|---|---|
Hardware Infrastructure | High | CPU speed and network latency |
Application Customization | Medium | Complexity of functionality, integration with other business systems |
Extensions | High | Client side Esri extensions, 3rd party applications and integrations |
ArcMap Document | High | Scale dependency, number of layers, symbology complexity, map projection on the fly, layer definition queries, spatial views, raster layer |
ArcGIS Services (e.g. GeoProcessing) | High | As Rich Client applications make use of services such as Geoprocessing or Feature Services (for editing) for much functionality, the performance profile of those services heavily influences the performance of the application. |
Data Sources | Medium | Data format choice (DBMS, fGDB, shapefile, SDC; storage types, spatial indices |
Tuning and Optimization
Tuning typically involves optimization of the following areas:
- Optimize ArcMap documents
- Optimize data sources
- Reduce number of requests to the server
- Reduce number of fetched features
Scalability Strategy
Scalabilty typically involves scaling out and up the following components:
- ArcGIS Server SOC processes and machines
- Scale up - select a bigger server or add more resources
- Scale out -- add more SOC machines, incorporate load balancing, etc.
- Data sources
- Scale up - select a bigger server or add more resources
- DBMS clustering solutions, e.g. Oracle RAC
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
性能因素
作为对 应用程序性能的注意事项这一章节所列出的常规企业级 GIS 性能因素的补充,以下列出了影响 Web 应用程序性能的典型因素:
因素 | 影响* | 注意事项 |
---|---|---|
硬件基础设施 | 高 | CPU 和磁盘配置特征、网络带宽和延迟评估 |
Flex API | 高 | 应用程序配置和复杂度 |
SilverLight API | 高 | 应用程序配置和复杂度 |
JavaScript API | 高 | 应用程序配置和复杂度 |
.Net API | 中 | 应用程序配置和复杂度 |
Java API | 中 | 应用程序配置和复杂度 |
ArcGIS 服务 | 高 | 包括动态数据源和缓存数据源以及符号系统在内的“地图服务”文档特征;包括数据简化、索引使用以及图层文件在内的“地理处理服务”特征;包括地址定位器类型在内的“影像服务”栅格数据类型、“地理编码服务”和“Globe 服务”;包括数据更新提交和服务缓存大小在内的“移动服务”以及包括版本维护、复制方法和数据模型要求在内的“地理数据服务” |
ArcGIS 配置 | 中 | 服务器对象管理器 (SOM) 和服务器对象容器 (SOC) 计算机配置、Web 服务处理程序,以及虚拟目录的使用。MIME 和 URL,以及安全策略。 |
数据源 | 中 | 数据源存储类型、格式、数据位置,以及数据库配置和维护例程。评估业务图层、缓存底图图层和影像栅格类型的使用。 |
地图服务要素的显示方式有多种,可通过将导出地图或查询任务与浏览器图层相结合的方式实现。每种方式在显示给定地图范围的要素时都具有不同的性能和可伸缩性特征:
类别 | 性能 | 可伸缩性 |
---|---|---|
地图服务 | 高 | 高 |
查询任务 | 高(对于少量要素) | 低(默认限制设置为 500 个要素) |
调整和优化
调整通常涉及下列各方面的优化:
- ADF Web 应用程序
- 减少单个用户的内存需求
- 减少对服务器的回调次数
- 考虑将 UI 状态存储在页面中
- Flex 和 Sliverlight 应用程序
- 考虑向远程服务器请求数据时的延迟和带宽
- 随时考虑无状态应用程序
- 减少对服务器的回调次数
可伸缩性策略
可伸缩性通常涉及横向和纵向扩展下列组件:
- 横向扩展 Web 服务器(Web 服务器场)
- 横向扩展 ArcGIS Server SOM(多个 SOM)
- 横向扩展 ArcGIS Server SOC(SOC 服务器场)
- 数据源
相关链接
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
From: resources.arcgis.com
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
性能因素
作为对 应用程序性能的注意事项这一章节所列出的常规企业级 GIS 性能因素的补充,本节汇总了影响移动应用程序性能的典型因素。
利用移动设备时,要求您考虑到有限的 CPU 速度、减小的内存和存储、较窄的带宽和高延迟连接,以及有限的电池寿命。
请考虑下列准则:
- 设计允许最大限度使用设备的可配置选项。允许用户为了省电而关闭不需要的功能。
- 为优化移动设备资源限制,可考虑使用延迟初始化。
- 通过考虑有限的内存资源并优化应用程序将使用的内存量降至最低。
- 依赖于电池供电使用设备 CPU、无线通信、屏幕或其他高能耗资源时,请考虑功耗。在性能和功耗之间寻求平衡。
调整和优化
确定如何使 ArcGIS Mobile 充分支持外业编辑时,要仔细考虑地理数据库信息和事务模型中支持哪些内容以及不支持哪些内容。
在部署企业移动解决方案时,您需要考虑:
- 信息工作流
- 技术平台和协议
- 预计的用户负载和需求
- 最佳做法和模式,包括实时需求和数据更新提交需求
信息工作流
利用位置按需访问地图
- 适用于缩略图数据集
- 通过无线方式传输的优化的地图图层
设备与地图一起预加载
- 适用于在大的地理范围内进行的大型部署
- 适当使用第三方软件管理工作流
数据更新和提交
外业作业中所执行的更新会以本地存储的方式存储在移动设备的移动服务缓存中。这一点非常重要,因为外业工作人员在现场作业时可能根本无法建立网络连接或者他们可能需要关闭设备并为设备充电,并且确保更新内容不会丢失。建立了与服务器的连接之后,即可与服务器同步存储在缓存中的更新。
提交移动设备中的更改时,只会将增量信息发送至服务器。例如,如果您更改了要素的某一属性,则只会记录对这个特定字段所做的更改,而不会将整个行标记为“已编辑”。这样做是为了确保在同步更改时,只有确实发生了变化的信息才会被发送回服务器。在外业工作中进行同步更新时,必须尽可能地节省带宽和存储空间。
鉴于预期的编辑量和服务器连接类型(例如 GPRS),您可能希望仅在将应用程序和设备带回到办公室时才启用提交功能,以确保稳定的高速连接。
可伸缩性策略
移动解决方案的可伸缩性主要通过移动客户端所使用的同步方法传达给服务器基础结构。请考虑是否要支持无线电同步和/或底座插入同步。因为即使连接中断在正常情况下发生(通过取消操作或通过在连接可用时允许恢复操作),也会造成额外的系统开销。可以利用标准 Web 应用程序服务器伸缩准则来为移动同步需求提供支持。对于移动解决方案来说,需要记住的一项重要指标是设备在同步时的实时交错能力。
相关链接
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
From: resources.arcgis.com
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
为了提供稳定持久的性能,GIS 管理员必须了解用户体验以及在性能下降时如何调整部署。方法之一是通过监控 ArcGIS 服务器统计数据和 ArcGIS 服务器日志来实现。关键是要了解所部署的服务的利用模式,对于那些具有高要求、低性能的服务,可能需要对已知的性能因素做出调整。许多性能问题都与应用程序自身的设计有关,因而无法通过简单地添加更多硬件甚至通过调整来解决。因此,建议将性能测试和调整作为部署和发布周期的一部分。
性能因素
作为对 应用程序性能的注意事项这一章节所列出的常规企业级 GIS 性能因素的补充,以下列出了 ArcGIS 服务的相对性能:
服务类型 | 性能* | 注意事项 | 基准 |
---|---|---|---|
中 | 请参阅以下地图服务性能因素 | ||
中 | 通常比 Mxd 快;尤其对于仅带有矢量数据的复杂文档 | N/A | |
高 | 格式(即:矢量数据为 PNG;栅格数据为 JPEG) | ||
缓存加动态型地图服务 | 中 | 缓存底图图层并对少量动态图层使用动态服务 | N/A |
高 | 批处理可用于提高性能 | ||
低 | 取决于复制更新量 | N/A | |
高 | N/A | ||
低 | 取决于任务的复杂程度。一般来说,采用 RAM 或固态硬盘可提高性能 | N/A | |
低 | N/A | ||
高 | 取决于压缩类型(例如 JPEG 和 PNG) | ||
高 | 同步化(取决于编辑量) | N/A | |
低 | 取决于数据格式。SDC 最快。采用 RAM 或固态硬盘可提高性能 | ||
中 | 优化地图文档。比 REST 的导出地图 (ExportMap) 操作稍慢 | N/A | |
变量 | 取决于输出图像类型 | N/A | |
第三方服务 | 变量 | 可能影响总体性能,应进行评估 | N/A |
中 | 构建高效查询过滤器的能力 | N/A |
地图服务
地图服务是 ArcGIS Server 的最常用服务,依赖于 MXD/MSD 文件。因此,地图服务性能因素与下表中所列出的 ArcMap 文档相一致:
类别 | 影响* | 注意事项 |
---|---|---|
减少渲染的要素数量 | 高 | 通常通过设置比例依赖性和图层数量来控制 |
减少折点数量 | 高 | 通过提取的要素的数量和复杂性控制 |
减少图层数量 | 中 | 通过用户需求和设计驱动 |
缓存图层 | 中 | 通过用户需求驱动 |
栅格 | 中 | 从地图服务中分离栅格内容;为栅格使用影像服务器服务 |
简化复杂的符号系统 | 高 | 使用注记和简单的标记符号 |
避免动态投影 | 高 | 使用常用投影 |
定义查询、空间视图 | 高 | 通过用户需求驱动 |
调整空间索引 | 低 | 考虑单级别索引与多级别索引的比较 |
数据源 | 中 | 通过用户需求驱动。DBMS、FileGDB、Shapefile、SDC |
数据类型 | 中 | 非 Esri 格式通常会导致性能相对较低。Esri ST_Geometry、Oracle SDO、SQL Server Binary、SQL Server Geometry、SQL Server geography。 |
影像服务
影像服务数据源拥有它们自己的一系列性能和可伸缩性因素,如下表中所示。应注意的是,某些数据源(例如文件地理数据库)可能提供更高的性能,但同时可伸缩性却不强(文件 I/O 绑定)。此外,服务总览配置可对性能产生影响,磁盘速度注意事项同样如此。
类别 | 性能 | 可伸缩性 |
---|---|---|
影像服务器 | 高 | 高 |
ArcSDE | 中 | 低 |
文件地理数据库 | 高 | 低 |
调整和优化
通过调整服务来实现最大吞吐量时,GIS 管理员必须考虑到可用的资源。一般来说,可将 2.5 x #CPU(对于非缓存服务)作为起始设置,但当部署多个服务时,仅采纳这种一般性建议可能会产生问题。最好是对每个服务的需求进行分类和评估,并考虑可用的资源。通过使用这种策略,管理员能够了解潜在的用户模式并将可用的资源分配给发布的服务。当部署了应用程序之后,管理员必须监控应用程序行为,以确认实际用户模式与预测的用户模式是否一致。
为了提供稳定持久的性能,GIS 管理员必须了解用户体验以及在性能下降时如何调整部署。通过监控用户体验、ArcGIS 服务器统计资料和 ArcGIS 服务器日志可以实现这一目标。有多种原因可能造成性能降低,例如:对地理处理任务罕见的高要求、路线选择或优化任务、缺少地理数据库维护以及多种其他因素。
许多性能问题不能通过利用更多的硬件或调整来解决,因为它们与应用程序自身的设计有关。因此,建议将性能测试和调整作为部署和发布周期的一部分。
对于动态地图服务,一个十分常见的问题就是无法 通过优化地图内容来提高性能。
可伸缩性策略
将服务正确部署完毕并且增加用户负载量之后,管理员将需要决定是否应重新平衡部署,以为更高的用户需求提供支持或向当前部署添加更多的资源。ArcGIS 服务器可进行高度的配置,并可通过添加新服务器进行水平伸缩。
- 横向扩展 Web 服务器(Web 服务器场)
- 横向扩展 ArcGIS Server SOM(多个 SOM)
- 横向扩展 ArcGIS Server SOC(SOC 服务器场)
- 数据源
工具
- MxdPerfStat - 帮助识别 MXD 文档中的性能因素的工具
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------