Skip To Content

在 Amazon EC2 中创建缓存

在 Amazon 弹性计算云 (EC2) 中创建 ArcGIS 地图、影像或 globe 服务缓存与在云之外创建缓存具有一些区别。

  • 有大量不同的实例大小和价格可供您选择。
  • 您可以将卷添加到您的实例,用于放置缓存。

本主题将详细介绍以上因素。

选择实例大小和价格

Amazon EC2 为您提供了多种实例大小和规格。每种实例均按使用的小时数进行收费,价格各有不同。实例越大,特别是对于拥有很大内存的实例,生成切片就越快。实例越小,生成切片的速度会越慢,但价格也会相对低廉。

您可以使用一个强大的实例在附加的 Amazon 弹性块存储 (EBS) 卷上创建缓存。缓存创建完毕之后,可分离 EBS 卷并将其附加到普通实例(可能比较小且价格低廉)。然后,您可终止用于缓存的高性能实例。通过这种方式,您可使用云的强大功能进行缓存,而无需在使用完毕后仍然需要对这一相对昂贵的实例支付费用。

您需要在价格和速度之间作出决定。使用价格低、性能弱的实例并非总是最经济的选择,因为缓存的总成本取决于创建切片所花费的时间。另一方面,性能最强大的实例所产生的缓存总成本也可能更高:尽管缓存所花费的时间更短,但每小时使用该实例的价格会更高。

通过使用较小的测试缓存(大概中等城市的大小)以及一个自定义的 Amazon 机器映像 (AMI) 或站点模板,您可对不同的实例类型执行相对价廉的测试以找到一种最经济的缓存方式。

性能强大的 EC2 实例类型非常适用于定期缓存更新,因为许多更新工作流程都有严格的时间限制。

选择缓存时所使用的地图服务实例数

每个 EC2 实例都有特定数量的虚拟 CPU 内核。当从 Amazon Web Services 管理控制台中选择实例类型时,可看到 CPU 内核的数量。该核数可帮助您确定用于缓存的缓存工具 (CachingTools) 地理处理服务的实例数。使用太多的服务实例会导致 CPU 过载,而服务实例太少则会导致 CPU 利用率不足。

虽然可通过反复试验达到最佳数量,但一个好的起点是允许 CachingTools 服务的最大实例数 n + 1,其中 n 是站点中单个 EC2 实例上的虚拟内核数。

自动伸缩

构建大缓存时,您可能希望设置自动伸缩触发器,这些触发器会随着 CPU 使用率的提高而自动增加用于处理缓存的 EC2 实例数。但是,自动伸缩更适用于处理流量中的异常峰值。创建缓存时,您已知道将需要巨大的计算能力,因此,在构建缓存前便启动所有必要实例(而不是等待它们通过自动伸缩触发器按顺序启动)更有意义。

选择缓存的放置位置

向 Amazon Web Services 传输数据的策略中所述,可将数据放置在多种类型的位置上。首次创建缓存时,将其写入附加到 EC2 卷的 EC2 实例。该卷在构建站点时附加,并且如果该卷足够大,则最好将缓存存放到该位置。如果该卷过小,可将其替换为根据现有数据卷快照创建的更大的卷,并在其中注册服务器缓存目录。

请勿在 EC2 实例的 C 或根驱动器上构建缓存。如果终止实例,缓存将丢失。