在大型区域创建覆盖较大比例的缓存需要花费很长时间。本主题介绍了几个影响缓存速度的最重要的因素。要获取详细的注意事项,请参阅地图缓存的相关提示和最佳做法。
使用本地文件地理数据库
如果将源 GIS 数据集的副本置于服务器上,您会注意到,在创建缓存期间速度和稳定性会显著提高。缓存过程中需要执行上千甚至数百万次数据请求,如果这些请求不必离开计算机,则绘制切片的速度将大大提高。
最理想的做法是将同一个文件地理数据库以相同路径放置到集群中的每个 GIS 服务器计算机上。将此文件地理数据库的本地文件夹作为数据存储项目注册到 ArcGIS Server。在地图文档内,使用本地路径访问这些数据。
避免动态投影
为实现最佳性能,可将源数据投影到地图所在的同一坐标系中,以避免动态投影。人们当然会犹豫是否将他们的工作数据库放入 Web Mercator 这样的投影中。不过,放在服务器上的数据可能是生产数据库的单向复本,可能会仅用于创建缓存和供用户查询。
慎重选择抗锯齿功能级别
抗锯齿技术是 ArcGIS 用于平滑线条和标注边缘的一项技术,可以使它们看起来相对清晰。文本抗锯齿处理基本不会影响性能,而要素抗锯齿处理是一项运算量较大的操作,可能会降低缓存速度。
应用一定级别的要素抗锯齿处理会使矢量地图看起来更专业。有一点需要注意,每次增加抗锯齿效果都会很大程度地延长缓存的时间总量。最快或快速设置对于大多数缓存已足够。除非您的测试缓存显示需要更高质量的设置,否则请避免使用诸如最佳设置等较高质量的设置。
充分利用 CPU 且避免出现过载
为了最快地创建切片,CPU 的使用率应在创建切片期间接近 100% 而不要超出 100%。
由于各个地图有所不同,要使 CPU 使用率达到这种程度可能需要对缓存设置进行反复试验。能够影响专用于缓存的服务器功能的设置主要有两种:
- 集群中每台计算机上允许运行的 CachingTools 服务实例的最大数目 - 该数目的适宜初始值为 n + 1,其中 n 为集群中某台典型计算机上的 CPU 内核数。
- 缓存作业允许为集群整体使用的 CachingTools 实例的最大数目 - 该数目的适宜初始值为运行“管理地图服务器缓存切片”时观察到的默认数目。这个数目反映了集群中的计算机总数以及各计算机上允许运行的 CachingTools 实例的最大数目。如果预期在执行缓存作业期间增加其他的 GIS 服务器计算机,请输入 -1 移除实例数目的限制。
上述推荐使用的值仅是供用户测试和迭代的起始值。有关设置这些值的详细信息和公式,请参阅分配服务器资源以创建缓存。
仅创建需要的切片
用户无需在地图全图范围内创建所有比例的切片。有些切片会被频繁访问,而其他切片则从不会被访问,尤其是在那些比例很大且数据稀疏的地方。
在开始缓存作业之前,请仔细规划必须预生成哪些地理要素和比例以及需要生成哪些切片(或者如常见缓存问题中所述显示为“数据不可用”切片)。小比例需要的切片相当少,因而无需考虑。而大比例往往需要战略性较强的方法。
创建一个要素类,以便描绘地图中最引人注目且最重要的区域。缓存大比例时,使用该要素类限制切片创建。含有数千个折点的要素类会减缓缓存工具的运行速度,因此,用户可能需要使用简化面这类工具提前对此要素类进行概化。
经过一定的规划后,可以避免创建上千个感兴趣的地理要素以外的切片或者避免创建不含要素的切片。
更多提示
最后,也可以考虑加速缓存的其他提示:
- 避免出现松散格式的缓存。这种缓存生成的时间更长,而且非常不便于移动。保持默认的紧凑格式。
- 有时,防病毒软件可以在缓存生成过程中(尤其是在创建缓存时扫描新文件的过程中)获取资源。如果怀疑防病毒软件与 ArcGIS Server 相互竞争存储器或 CPU 资源,请从系统管理员处获取权限,在构建缓存时暂时禁用或禁止防病毒软件。
- 如果运行速度比所需磁盘空间总量问题更为严重,需避免在 ArcGIS 10.1 中引入优化的 PNG 格式缓存。这种格式非常适于将缓存大小保持为小尺寸,但是它构建缓存所使用的时间会更长,因为它必须确定每个切片的最佳位深度。也可以考虑使用 MIXED 格式。
- 在发布地图之前对地图文档进行分析时,请尽可能多地修复性能警告。例如,如果数据集不具备空间索引,用户便会看到一个分析器警告。花费时间来构建空间索引会加快地图服务绘制时间并加快切片创建过程。