最近接到好多用户询问性能的问题,我在我的环境下,执行某些查询分析,多少多少秒,这个数据是否正常,其实用户的环境不用、应用不同相关的性能指数完全不一样。以下是在一定的环境下进行的测试结果,感兴趣的用户可以对比自己的环境进行相关参考!
服务器配置
数据库服务器
主机型号:DELL PowerEdge R710
CPU:Intel Xeon E5504(2.0GHz,8核)
内存:12G
磁盘:2×500G
操作系统:CentOS 5.5 x86
Oracle:10.2.0.4
Oracle存储:ASM
ArcSDE:9.3
应用服务器
CPU:Intel Core i7 920(2.7GHz,8核)
内存:12G
操作系统:Windows Server 2003 Enterprise Edition SP2
ArcGIS Server:9.3.1 for .Net
Java服务器:Tomcat 6.0 + JRE 5
Oracle典型参数参考
optimizer_mode string ALL_ROWS open_cursors integer 3000 pga_aggregate_target big integer 1464M session_cached_cursors integer 20 session_max_open_files integer 10 sessions integer 170 sga_max_size big integer 1536M sga_target big integer 1536M shared_pool_reserved_size big integer 6710886 log_buffer integer 15268864 db_block_size integer 8192 |
其他
数据与索引分开存储
测试数据
1亿条记录的线数据——空间参考为GCS_WGS_1984,要素总数为112918899条,使用SDE.ST_Geometry类型存储的数据采用0.1作为格网大小创建索引。
1亿条记录的面数据——要素总数为98137056条,使用SDE.ST_Geometry类型存储的数据采用2000作为格网大小创建索引。
空间数据过滤测试(单位:秒)
测试概述
空间数据过滤测试的主要目的是测试从大量数据中通过矩形的范围过滤一部分数据的性能。
ArcSDE通过ST_EnvIntersects操作来过滤数据,在下面的测试中分别对线数据和面数据分别进行对比。
测试主要使用桌面和Web应用两种手段。在桌面环境中主要测量动态查看数据的性能;在Web应用中主要通过在不同比例尺下进行动态出图来考量在服务中进行空间数据过滤的效率。在这里的测试过程中都涉及两个环节:获取数据、绘图,测试得到的结果是这两部分时间的和。