在 Amazon EC2 中创建缓存
在 Amazon 弹性计算云 (EC2) 中创建 ArcGIS 地图、影像或 globe 服务缓存与在云之外创建缓存具有以下区别:
- 有多个实例大小可供选择。
- 在云中有各种位置可供放置缓存。
本主题将详细介绍以上因素。
选择实例大小和价格
Amazon EC2 为您提供了多种实例大小和规格。每种实例均按使用的小时数进行收费,价格各有不同。实例越大,特别是对于拥有很大内存的实例,生成切片就越快。实例越小,生成切片的速度会越慢,但价格也会相对低廉。
您可以使用一个强大的实例在附加的 Amazon 弹性块存储 (EBS) 卷上创建缓存。缓存创建完毕之后,可分离 EBS 卷并将其附加到普通实例(该实例可能比较小且价格低廉)。然后,您可终止用于缓存的高性能实例。通过这种方式,您可使用云的强大功能进行缓存,而无需在使用完毕后仍然需要对这一相对昂贵的实例支付费用。
您需要在价格和速度之间作出决定。使用价格低、性能弱的实例并非总是最经济的选择,因为缓存的总成本取决于创建切片所花费的时间。另一方面,性能最强大的实例所产生的缓存总成本也可能更高:尽管缓存所花费的时间更短,但每小时使用该实例的价格会更高。
Esri 的基本测试表明,Amazon 高内存的实例(超大内存、两倍超大内存和四倍超大内存)对于缓存是最经济的选择。本建议会随着 Amazon 价格方案或实例规格的调整而变动。
通过使用较小的测试缓存(大概中等城市的大小)以及一个自定义的 Amazon 机器映像 (AMI) 或站点模板,您可对不同的实例类型执行相对价廉的测试以找到一种最经济的缓存方式。
性能强大的 EC2 实例类型非常适用于定期缓存更新,因为许多更新工作流程都有严格的时间限制。
选择缓存时所使用的地图服务实例数
每个 EC2 实例都有特定数量的虚拟 CPU 内核。当从启动实例向导中选择实例类型时,可看到 CPU 内核的数量。该核数可帮助您确定用于缓存的缓存工具 (CachingTools) 地理处理服务的实例数。使用太多的服务实例会导致 CPU 过载,而服务实例太少则会导致 CPU 利用率不足。
虽然可通过反复试验达到最佳数量,但一个好的起点是允许 CachingTools 服务的最大实例数 2n + 1,其中 n 是站点中单个 EC2 实例上的虚拟内核数。请注意,此建议数量与场所内环境的 ArcGIS Server 帮助中的建议数量不同,在场所内环境中实例数 n+1 是建议的起点。
选择缓存的放置位置
正如向 Amazon Web 服务传输数据的策略中所述,可将数据放置在各种类型的位置上。首次创建缓存时,可将其写入附加到 EC2 卷的 EC2 实例中。ArcGIS for Server AMI 附加有一个 100 GB 的卷,其默认名称为 GIS Data。如果该卷足够大,则可作为放置缓存的好地方。如果该卷太小,需要创建和附加其他卷并在其中注册一个服务器缓存目录。
请勿在 EC2 实例的 C 盘上构建缓存。如果终止实例,缓存将丢失。
最终,您可能会希望将缓存副本移动或放置到 Amazon 简单存储服务 (Amazon S3)。如果仅想在 Amazon S3 中保存备份,则可创建 EBS 快照。快照会在 Amazon S3 上有效备份您的驱动器。不论什么原因,如果现有卷出现故障,可立即使用快照创建一个新的 EBS 卷。
您还可通过 Amazon S3 操作切片并通过 JavaScript、Flex 或 Silverlight 应用程序将其作为自定义切片图层进行访问。这样做的好处是您的切片不会依赖正在运行的服务,并且您可选择使用 Amazon 云端 (CloudFront) 通过 Internet 将切片迅速传送至世界各地。为此,如果想要移动切片至 Amazon S3,可使用 Amazon Web Services API 或 Amazon S3 的第三方前端应用程序从 EBS 卷传输切片。如果在云外创建缓存,也可照此进行操作。