ArcGIS性能优化

创建日期:2024-08-16
更新日期:2025-01-20

硬件

1、CPU:2.10GHz 32核 L1缓存:无

2、内存:32GB

3、显卡:无

操作系统

1、Windows设置、系统、电源和睡眠、其他电源设置,改为高性能。

2、此电脑、属性、高级系统设置、高级、性能设置、高级、处理器计划,改为后台服务。

Oracle数据库

1、Oracle版本:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod(32位)

2、任务管理器、详细信息,找到oracle.exe,右键,设置优先级、高。

ArcGIS SDE

--1、任务管理器、详细信息,找到gsrvr.exe,右键,设置优先级、高。(不起作用,会自动变为正常)--

2、查看SDE日志文件,显示大量错误:

db_array_fetch_spix_recs OCI Fetch Error (904)
load_buffer error -51 on GASVILLAGE, rowid -1

3、将SDE中的TCP/IP Keepalive on Connections设置为ON命令,输入数据库密码,再输入Y即可。

sdemon -o info -I config
sdeconfig -o alter -v TCPKEEPALIVE=ON -u SDE

4、扩大SDE使用的表空间。

sqlplus
用户名:sys as sysdba
密码:hylab

SQL> SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 AS SIZE_MB, AUTOEXTENSIBLE, MAXBYTES/1024/1024 AS MAX_SIZE_MB FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'SDE';

SQL> ALTER DATABASE DATAFILE 'D:\SDE.DBF' RESIZE 8192M;

SQL> ALTER DATABASE DATAFILE 'D:\SDE.DBF' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

5、扩大SDE使用的临时表空间。

SQL> select property_name,property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

SQL> SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS, USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)", NVL(FREE_SPACE,0) "FREE_SPACE(M)" FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS FROM DBA_TEMP_FILES GROUP BY TABLESPACE_NAME) D, (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE FROM V$TEMP_SPACE_HEADER GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\TEMP.DBF' SIZE 1024M;

SQL> exit;

6、重启ArcSDE服务。

ArcGIS Catalog

1、打开ArcToolbox、数据管理工具、索引、添加空间索引,给用到的SDE表添加空间索引。

2、打开ArcToolbox、数据管理工具、索引、添加属性索引,给用到的SDE表COMPANY_CODE字段添加属性索引。

ArcGIS Map

1、删除ArcToolbox缓存:C:\Users\Administrator\AppData\Roaming\ESRI\Desktop10.0\ArcToolbox\ArcToolbox.dat

2、点击菜单自定义、ArcMap选项,显示缓存,点击清除缓存。

3、双击D:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\JavaConfigTool.exe,修改参数后保存

-Xms 256MB
-Xmx 2048MB

4、打开每个XMD文档,在内容列表中,右键图层、属性、要素缓存,勾选在当前地图范围更改时自动构建缓存。

5、查看数据框和每个图层的坐标系,保证坐标系是一样的。

6、右键每个图层,属性,常规,设置缩小超过以下比例时,不显示图层。

=比例尺=最小显示层级=适合要素
不设置任何层级高压管线、场站、气源
1:100020
1:1000016安检用户
1:2400015低压管线、阀门、弯头、三通、周边环境点、周边环境线、周边环境面
1:10000013中压管线、调压箱、阴保桩、村庄、高后果区、Patrol服务所有图层
1:25000012
1:50000011
1:75000010
1:100000010
1:30000008
1:100000006

7、点击地图发布工具栏上的分析地图,解决影响性能的因素。

=影响因素=严重性=解决方法
图层的数据源没有空间索引打开ArcToolbox窗口、数据管理工具、索引、添加空间索引,为对应图层数据表添加空间索引。
不支持要素选择右键该问题,清除要素选择。
启用“将图层透明度转换为颜色透明度”选项可改善性能中等右键该问题,选择使用颜色透明度
图层的数据源是ArcSDE,无法通过直连进行访问中等无法解决,使用gdb数据源会导致无法使用属性编辑。
图层使用粗体或斜体进行绘制的文本符号。中等右键对应图层、属性,标注选项卡,为文本去掉粗体和斜体设置。
图层将按照所有比例范围绘制右键对应图层、属性,常规选项卡,设置缩小超过下列限制时,不显示图层。

8、点击地图服务发布选项,设置抗锯齿、文本抗锯齿。点击发布到ArcGIS Server,将msd服务发布到ArcGIS Server。

9、右键服务、停止服务、服务属性。在参数选项卡中把服务器返回的最大记录数改为50000000;在服务能力选项卡勾选Feature Access;在池化选项卡中,把最大实例数改为4;在进程选项卡中,勾选定期检查并修复空闲实例的数据库连接。保存,然后启动服务。

ArcGIS Server

1、打开Windows Defender,病毒和威胁防护,管理设置,排除项,添加以下目录。

D:\arcgisserver
C:\Users\Administrator\AppData\Roaming\ESRI\Local Caches
D:\oracle\product\10.2.0\db_1
D:\安检用户

2、打开天融信终端威胁防御系统,信任区,添加目录,添加以下目录。

D:\arcgisserver
C:\Users\Administrator\AppData\Roaming\ESRI\Local Caches
D:\oracle\product\10.2.0\db_1
D:\安检用户

3、编辑文件D:\Program Files (x86)\ArcGIS\Server10.0\java\manager\service\lib\manager_config.properties,修改下面一行,重启ArcGIS Server Manager服务。

com.esri.arcgis.manager.applicationtomcat.jvm.options=-Xms256m -Xmx1024m -XX:MaxPermSize=512m

--4、任务管理器、详细信息,右键ARCGIS.exe、ArcSOC.exe,设置优先级为高。(不起作用,会自动变为正常)--