当一个地理平台上线运行,我们经常会遇到这些问题:1、系统刚上线时速度较快,一段时间后访问较慢?2、在地理平台目前的配置下,发布多少个服务才合理?一个服务配置多少个实例数才合适?这些问题,都涉及整个地理平台的性能策略设计。

性能设计,除了与安装部署策略设计有关外,还涉及到网络带宽、数据组织、客户端GIS服务访问代码组织,以及地理平台服务发布策略。具体项目问题的解决要调研具体情况后系统化解决,但是,基于地理平台基本运作原理有以下基本原则:

1、数据组织:数据平滑处理、删除不必要的属性、建立空间索引;

2、服务优化:减少复杂的制图表达效果、减少动态标注的使用,在发布阶段使用地图发布工具来评估地图显示复杂性,可以评估渲染时间,早做性能验证可以减少实施风险。

3、拆分图层:避免大量图层同时展现;

4、符号:使用简单符号;

5、显示控制:不要同时加载全部图层;

6、代码优化:代码精简、前端显示图片压缩,对于栅格数据,JPEG压缩方式性能更优,对于矢量数据,PNG压缩方式性能更优;

7、灵活利用要素服务+动态图层+缓存图层:只可做属性查询操作的图层发布成动态图层服务,静态的地理底图切片后再发布成服务,可做属性及位置编辑操作的图层发布成要素 服务,数据源动态实时变化的图层发布成要素服务,删除地图文档中引用的其他服务。

8、灵活配置服务的高隔离低隔离进程设置:把发布的服务配置成低隔离进程,可以有效改善服务器内存使用情况,一旦某一个服务实例崩溃时,销毁运行在低隔离进程中的所有服务实例;把发布的服务配置成高隔离进程,当某一服务实例进程失败时,只会影响其中一个服务实例,服务响应时间短、吞吐量高、稳定性高。

9、灵活配置服务的最小最大实例数:每台GIS 服务器,当服务启动时,默认启动最小实例数,当现有实例都处于busy状态,有新的服务请求到达,才会启动新的服务实例,但是启动的实例总数不会超过最大实例数(运行中的实例:只占用内存,不占用CPU;使用中的实例:即占用内存,又占用CPU)。经常监控服务的访问状况,对于偶尔使用的服务:服务不经常用到、少数人在短时间内使用,建议Min/Max值设置为0/1,且空闲实例运行时间(超过这个时间,系统自动终止该服务)依业务需求设置;对于经常使用的服务,每天都有大量的服务请求,建议Min/Max设置为相等,注意需要配置足够的实例数才能达到峰值吞吐,但是服务实例配置过多会增加响应时间,对于复杂的地理处理服务,最大实例数设置小一些(以保护GIS服务器资源),并且在服务访问峰值吞吐期间,避免频繁免的启动和停止ArcSOC进程。

10、如果资源允许,尽量选择服务池化处理,把服务对象装载到内存中,增加客户端并发数。

GIS性能策略的更多相关文章

  1. OpenCL 增强单work-item kernel性能策略

    1.基于反馈的Optimization Report解决单个Work-item的Kernel相关性 在许多情况下,将OpenCL™应用程序设计为单个工作项内核就足以在不执行其他优化步骤的情况下最大化性 ...

  2. ActiveMQ生产者和消费者优化策略

    一.生产者优化策略  默认情况下,ActiveMQ服务端认为生产者端发送的是PERSISTENT Message.所以如果要发送NON_PERSISTENT Message,那么生产者端就要明确指定. ...

  3. 19个三维GIS软件对比

    19个三维GIS软件对比 麦豆科研技术中心 days ago 我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方 ...

  4. 设计模式之策略模式和状态模式(strategy pattern & state pattern)

    本文来讲解一下两个结构比较相似的行为设计模式:策略模式和状态模式.两者单独的理解和学习都是比较直观简单的,但是实际使用的时候却并不好实践,算是易学难用的设计模式吧.这也是把两者放在一起介绍的原因,经过 ...

  5. 国内外主流的三维GIS软件

    我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方向之一.上世纪八十年代末以来,空间信息三维可视化技术成为业界研 ...

  6. 详尽介绍FireFox about:config

    一.什么是about:config about: config: 是Firefox的设置页面,Firefox提供了不少高级设置选项在这里以便让你可以更加详细地控制Firefox的运行方式.官方不推荐 ...

  7. 分布式消息通信Kafka-原理分析

    本文目标 TopicPartition 消息分发策略 消息消费原理 消息的存储策略 Partition 副本机制 1 关于 Topic 和 Partition 1.1 Topic 在 kafka 中, ...

  8. Kafka(2)--kafka基本原理之消息的分发与接收

    关于 Topic 和 Partition Topic 在 kafka 中,topic 是一个存储消息的逻辑概念,可以认为是一个消息集合.每条消息发送到 kafka 集群的消息都有一个类别.物理上来说, ...

  9. Spring 注解@Transactional readOnly=true

    引子 今天下班后,以前同事小胖问我Spring  Service类中的注解@Transactional readOnly=true的作用.做为他眼中的高人,我自然要装下A-C.居然想都没有想就说是注解 ...

随机推荐

  1. js中的类

    概述 经典的老书害人啊,全是讨论怎么解决javascript里面用函数形式定义类的坑.结果es2015直接用class关键字解决了所有问题.虽然class关键字没有什么新东西,只是js现有继承结构的语 ...

  2. Maven - 实例-5-依赖冲突

    避免依赖冲突的原则 如果项目中的pom.xml没有指定依赖的信息,而是通过继承来引用依赖,则很有可能发生继承同一个依赖的多个版本,从而产生依赖冲突. Maven通过如下两个原则来避免依赖冲突: 1- ...

  3. Shell - 文本处理

    珠玉在前,不再赘言. 常用命令 LinuxShell文本处理工具集锦 数据工程师常用的Shell命令 文件和目录管理 简明教程 AWK简明教程 SED简明教程 命令详解 linux sort,uniq ...

  4. 使用Chrome开发者工具调试Android端内网页(微信,QQ,UC,App内嵌页等)

    使用Chrome开发者工具调试Android端内网页(微信,QQ,UC,App内嵌页等) 前言 移动端页面调试一直是好多朋友头疼的问题,iOS 由于其封闭的特性和整体较高的性能,整体适配相对好做,调试 ...

  5. http协议返回码

    有五种可能取值:1xx:指示信息--表示请求已接收,继续处理2xx:成功--表示请求已被成功接收.理解.接受3xx:重定向--要完成请求必须进行更进一步的操作4xx:客户端错误--请求有语法错误或请求 ...

  6. hadoop运行一段时间后无法stop-all的问题

    默认配置是将datanode,namenode,jobtracker,tasktracker,secondarynamenode的pid存放在/tmp目录下, 随着linux的定期清理, 这些pid就 ...

  7. 213. Orchard学习 二 3、001.IOrchardHost 与Autofac

    继前篇,在Orchard Application_Start() -> HostInitialization() 里,调用 OrchardStarter.CreateHost创建IOrchard ...

  8. 私服仓库 nexus 环境搭建(win10)

    1.1 简介: Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库 ...

  9. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

    在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...

  10. JAVA基础 <一>

    java基础的学习要领,多写多写. 学习方法很简单,了解  到  理解  到 熟悉  到 精通 先讲变量吧: public static void main(String[] args) { int ...