经常有客户会咨询到如何提高地图的显示性能、为何ArcMap刷新地图那么缓慢、为何地图服务响应要等待10多秒?

诸如这些问题,虽然它们的表象都是相似的,但是往往在分析排查问题的时候,我们发现背后的原因是存在多种可能的,有时是由于数据库的索引建立不合理,有时是由于文件存储策略不合理,有时是网络的问题,这就要求我们分层次来思考问题。今天我们就首先来看看如何初步定位层次。

只是我们会用到esri提供一个地图性能分析工具Mxdperfstat,使用该工具,我们能获得一份可读性十分强的性能概述报告。

这个工具针对不同版本的ArcGIS会有对应版本。

使用起来十分简单,只需要在安装有ArcGIS Desktop或者ArcGIS Engine的环境中就可以直接运行。

首先需要把要分析的mxd文档复制到该工具所在目录。

然后进入命令行。

mxdperfstat10.4.exe -mxd <你的Mxd文档名称>.mxd -width <模拟的屏幕宽度> -height <模拟的屏幕高度>

如果只是需要测试指定的比例尺,可以通过-scale参数指定,如-scale 2000;1000;500;200

工具默认测试的地理位置为地图的中心位置,可以通过-xy参数指定,如-xy 780,1290

工具执行完后,结果会保存在工具的同一个目录下,是一个xml格式的文档,可以使用浏览器如IE直接打开查看。如下图

显示检查时间和地图坐标系,中心位置,模拟的屏幕大小。

下面是性能汇总:

可以看到不同比例尺下,地图的绘制耗时,显示的图层数目。

下面是分比例尺,分图层的详细查询和绘制时间,同时还包含一栏显示需要继续检查或者调优的建议。

我们平时特别需要关注的是几个关键指标:

Geography Phase(sec)数据绘制的耗时,和图层符号配置有关。

Graphics Phase (sec) 数据文本、标注绘制的耗时,和属性字段索引有关。

Cursor Phase(sec) 数据查询的耗时,和数据源性能有关。

除次之外,还有DBMS的CPU耗时、DBMS的LIO数据库读写内存的耗时、DBMS的PIO数据库读写磁盘的耗时几项数据库指标作为参考。不过建议数据库的性能指标分析最好还是启用TRACE功能后得到的分析结果,因为那更加详细和准确。

在下一篇文章中,将会介绍如何对瓶颈在数据查询层次的情况进行优化。

ArcGIS 地图性能优化系列一的更多相关文章

  1. 9 ArcGIS Server 性能优化

    1.系统性能影响因子 地图.服务类型.数据源.客户端技术.CPU.数据结构.网络.内存.存储.部署.架构.服务接口.SDE等. 2.ArcGIS Server性能优化 数据结构与数据源:数据结构(矢量 ...

  2. [MySQL性能优化系列]提高缓存命中率

    1. 背景 通常情况下,能用一条sql语句完成的查询,我们尽量不用多次查询完成.因为,查询次数越多,通信开销越大.但是,分多次查询,有可能提高缓存命中率.到底使用一个复合查询还是多个独立查询,需要根据 ...

  3. [MySQL性能优化系列]巧用索引

    1. 普通青年的索引使用方式 假设我们有一个用户表 tb_user,内容如下: name age sex jack 22 男 rose 21 女 tom 20 男 ... ... ... 执行SQL语 ...

  4. [MySQL性能优化系列]LIMIT语句优化

    1. 背景 假设有如下SQL语句: SELECT * FROM table1 LIMIT offset, rows 这是一条典型的LIMIT语句,常见的使用场景是,某些查询返回的内容特别多,而客户端处 ...

  5. PLSQL_性能优化系列14_Oracle High Water Level高水位分析

    2014-10-04 Created By BaoXinjian 一.摘要 PLSQL_性能优化系列14_Oracle High Water Level高水位分析 高水位线好比水库中储水的水位线,用于 ...

  6. [Android 性能优化系列]降低你的界面布局层次结构的一部分

    大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 原文地 ...

  7. Android性能优化系列之App启动优化

    Android性能优化系列之布局优化 Android性能优化系列之内存优化 Android性能优化系列之apk瘦身 应用的启动速度缓慢是我们在开发过程中常常会遇到的问题,比方启动缓慢导致的黑屏.白屏问 ...

  8. Android性能优化系列之apk瘦身

    Android性能优化系列之布局优化 Android性能优化系列之内存优化 为什么APK要瘦身.APK越大,在下载安装过程中.他们耗费的流量会越多,安装等待时间也会越长:对于产品本身,意味着下载转化率 ...

  9. 推荐:Java性能优化系列集锦

    Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演 ...

随机推荐

  1. win7,M​i​n​d​m​a​n​a​g​e​r​2​0​1​2使用模板时弹出Runtime error R6025解决方法

    Mindjet.MindManager2012.v10.0在应用个别模板时提示"参数错误",然后自动关闭. 解决办法: 如果是win7系统,可以进入C:\Users\(用户名)\A ...

  2. MongoDB数据实体中的ObjectId序列化成json的一个小坑

    很多时候我们都需要对实体对象进行序列化与反序列化,而ObjectId类型,只能用mongo的驱动以bson格式来序列化,但我们对外的交互,一般是json格式. 有两种解决方案: 1.自己写一个json ...

  3. Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结

    Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...

  4. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  5. iOS 多个播放器同时播放,双击全屏,单击退出全屏

    前言:公司需求如下:点击一个按钮播放一个视频,最多同时播放4个:双击某视频让其全屏,单击再恢复原来的样子.IOS的播放器有两种,MPMoviePlayerController,AVAudioPlaye ...

  6. WCF学习之旅—基于ServiceDebug的异常处理(十七)

    WCF学习之旅—WCF中传统的异常处理(十六) 二.基于ServiceDebug的异常处理 从前面的示例中,可以看到客户端捕获了异常,这是我们处理异常的前提.为了有利于我们进行有效的调试,WCF提供了 ...

  7. python中的Ellipsis

    ...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...

  8. Javascript 中 with 的替代方案和String 中的正则方法

    这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...

  9. 挑子学习笔记:对数似然距离(Log-Likelihood Distance)

    转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/log-likelihood_distance.html 本文是“挑子”在学习对数似然距离过程中的笔记摘录,文 ...

  10. SharePoint2013 Set a custom application page as site welcome page

    本文主要介绍如何添加一个custom application page as site welcome page 1.首先创建一个sharepoint 2013 empty solution, add ...