ArcGIS地图文档优化 mxdPerfstat工具使用体验
经常有客户会咨询到如何提高地图的显示性能、为何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功能后得到的分析结果,因为那更加详细和准确。
在下一篇文章中,将会介绍如何对瓶颈在数据查询层次的情况进行优化。