这可能需要很长的时间来创建一个ArcGIS Server地图缓存,点多面广,涵盖了大尺度。这篇文章描述了一些缓存速度,影响最大的因素。您可以阅读其他更详细的地图缓存的提示和最佳做法的考虑。
使用本地文件地理数据库
如果你可以放置在服务器上的源GIS数据集副本,你会发现更大的速度和稳定性,在创建缓存。缓存过程,使十万甚至上百万的请求数据,如果这些要求没有离开机器,将吸引更多的瓷砖迅速。
理想的做法是,在相同的路径在你的集群每个GIS服务器机上放置一个相同的文件地理数据库。注册文件地理数据库的本地文件夹中使用ArcGIS Server作为数据存储项目。在你的地图文件,使用本地路径的数据。
避免投影上飞
为了获得最佳性能,项目源数据地图上飞,以避免投影到同一个坐标系。人们自然毫不犹豫地把他们的工作数据库,如Web墨卡托投影。但是,你把服务器上的数据可能是一个单向的生产数据库副本,可能只存在于创建缓存,满足用户查询的目的。
仔细选择抗锯齿水平
平滑处理技术,ArcGIS使用平滑的边缘线和标签,所以他们没有出现异样。文本抗锯齿的性能影响不大,但反锯齿功能是计算密集型的行动,减缓缓存。
应用至少一定程度的抗锯齿功能,可以使您的矢量地图看起来更专业。只是要注意,每个增加的抗混叠的质量可以大大延长的时间量,才能使一个缓存。的最快或快速的设置对于大多数缓存是不够好。避免更高质量的设置,如显示你需要的质量水平,除非你自己的测试缓存。
充分利用您的CPU不操劳过度
最快的瓷砖创造,你的CPU应该在瓷砖创造接近100%,但不应该被刷爆了100%。你可以看你的系统活动,使用工具,如Windows任务管理器或性能监视器。
因为每个地图不同的是,实现这种级别的CPU使用率可能需要一些试验和错误缓存设置。有两个主要的设置会影响你奉献多少服务器电源朝着缓存:
- 的最大数量的CachingTools被允许集群中的每台计算机上运行的服务的实例。这是一个很好的起点值N + 1,其中n是一个典型的集群中的机器的CPU核心数。
- 最大数量的CachingTools缓存作业允许利用集群作为一个整体的实例。一个很好的起点值是默认的,你看,当你运行管理地图服务器缓存切片。这反映了在你的集群和每个的CachingTools实例允许运行的最大数量的机器数量。如果你预期增加其他GIS服务器的缓存作业期间的机器,输入-1删除的实例数量的上限。
上述建议的值是你自己的测试和迭代只是一个起点。查看服务器资源分配到更多的细节和公式来设置这些值缓存。
创建你所需要的瓷砖
你并不总是需要创建在所有尺度上的瓷砖在整个地图的程度。有些瓷砖经常被访问的其他瓷砖从未参观,尤其是在地方的数据是稀疏的大尺度。
启动缓存作业前,仔细规划,地域和规模,你必须预生成和瓷砖可以按需生成(或显示“数据不可用”瓷砖)。小尺度不是问题,因为他们需要相对较少的瓷砖。这是大尺度,需要更具战略性的方法。
创建一个要素类划定的最有趣和最重要的领域,你的地图。当缓存大尺度,使用此功能类约束瓷砖创造。要素类与成千上万的顶点可以减缓缓存工具,所以你可能需要先概括它使用一个工具,如简化多边形。
随着一些规划,你能避免创建成千上万的瓷砖以外的地理利息或瓷砖缺乏功能。
更多的技巧
最后,加快缓存考虑这些额外的提示:
- 避免爆炸的格式缓存。它需要更长的时间来生成和更繁琐走动。留默认紧凑格式的。
- 有时防病毒软件,可以将排水管从缓存中生成的资源,特别是如果新的文件在创建时被扫描。如果你怀疑病毒是与ArcGIS Server的内存或CPU资源的竞争,从系统管理员的权限,暂时停用或抑制杀毒软件,同时建立缓存。
- 如果速度是更多的问题比所需的磁盘空间量,避免在ArcGIS 10.1中引入优化的PNG格式的缓存。这种格式是伟大的降低高速缓存的大小,但它可能需要更长的时间来建立,因为它必须确定最佳的每瓦位深度。考虑使用混合格式作为替代。
- 当你分析你的地图文件发布前,修复尽可能多的表现尽可能的警告。例如,您将看到一个分析仪警告,如果你的数据集没有空间索引。以时间来建立一个空间索引,可能会导致更快的地图服务的抽奖时间和瓷砖创造。
925奎因了ArcGIS Server开发团队贡献
Accelerating map cache creation
It can take a long time to create an ArcGIS Server map cache that covers large scales over a broad area. This post describes some of the biggest factors that affect caching speed. You can read other more detailed considerations in Tips and Best Practices for Map Caches.
Use local file geodatabases
If you can place a copy of the source GIS datasets on the server, you’ll notice greater speed and stability during cache creation. The caching process makes thousands or even millions of requests for data, and if those requests don’t have to leave the machine, your tiles will draw more rapidly.
The ideal approach is to place an identical file geodatabase at an identical path on each GIS server machine in your cluster. Register the file geodatabase’s local folder with ArcGIS Server as a data store item. Within your map document, use local paths to the data.
Avoid projection on the fly
For the best performance, project your source data into the same coordinate system as your map to avoid projection on the fly. People naturally hesitate to put their working databases in a projection like Web Mercator. However, the data you put on the server could be a one-way replica of your production database that might only exist for the purpose of creating the cache and satisfying user queries.
Choose antialiasing levels carefully
Antialiasing is a technique that ArcGIS uses to smooth the edges of lines and labels so they don’t appear pixilated. Text antialiasing has little impact on performance, but feature antialiasing is a computationally intensive action that slows caching.
Applying at least some level of feature antialiasing can make your vector map look more professional. Just be aware that each increase in antialiasing quality can greatly extend the amount of time it takes to make a cache. The Fastest or Fast settings are good enough for most caches. Avoid the higher quality settings such as Best unless your own test caches have shown you need that level of quality.
Fully utilize your CPU without overworking it
For the fastest tile creation, your CPU should be working near 100% during the tile creation, but should not be maxed out at 100%. You can watch your system activity using tools like Windows Task Manager or Performance Monitor.
Because each map is different, achieving this level of CPU usage may require some trial and error with your cache settings. There are two major settings that affect how much server power you dedicate toward caching:
- The maximum number of instances of the CachingTools service that are allowed to run on each machine in the cluster. A good starting value for this is n + 1, where n is the number of CPU cores in a typical machine in your cluster.
- The maximum number of instances of CachingTools that your cache job is allowed to utilize for the cluster as a whole. A good starting value is the default you see when you run Manage Map Server Cache Tiles. This reflects the number of machines in your cluster and the maximum number of CachingTools instances each is allowed to run. If you anticipate adding other GIS server machines during the caching job, enter -1 to remove the cap on the number of instances.
The values recommended above are just a starting point for your own testing and iteration. See Allocation of server resources to cachingfor more details and formulas for setting these values.
Create only the tiles you need
You don’t always need to create tiles across the full extent of your map at all scales. Some tiles are visited frequently and other tiles are never visited, especially in places where data is sparse at large scales.
Before starting a cache job, carefully plan which geographies and scales you must pregenerate and which tiles could be generated on demand (or displayed with a “Data not available” tile as described here). The small scales aren’t a problem because they require relatively few tiles. It’s the large scales that require a more strategic approach.
Create a feature class to delineate the most interesting and important areas of your map. When you cache your large scales, use this feature class to constrain tile creation. A feature class with many thousands of vertices can slow down the caching tools, so you may need to generalize it first using a tool such as Simplify Polygon.
With some planning, you can avoid creating thousands of tiles outside your geography of interest or tiles devoid of features.
More tips
Finally, consider these additional tips for accelerating your caching:
- Avoid the exploded format cache. It takes longer to generate and is more cumbersome to move around. Stay with the default compact format.
- Sometimes antivirus software can drain resources from the cache generation, especially if the new files are being scanned at creation time. If you suspect that antivirus is competing with ArcGIS Server for memory or CPU resources, get permission from your system administrator to temporarily disable or suppress the antivirus while you build the cache.
- If speed is more of a problem than amount of required disk space, avoid the optimized PNG format cache introduced at ArcGIS 10.1. This format is great for reducing cache size, but it can take longer to build because it must determine the optimal bit depth for each tile. Consider using the MIXED format as an alternative.
- When you analyze your map document before publishing, fix as many of the performance warnings as possible. For example, you will see an analyzer warning if your dataset does not have a spatial index. Taking the time to build a spatial index could result in faster map service draw times and tile creation.
Contributed by Sterling Quinn of the ArcGIS for Server development team