预热应用程序请求路由缓存节点

作者:Won Yoo

本文档此部分将介绍适用于 IIS 7 及更高版本的 Microsoft 应用程序请求路由版本 2。

目标

成功主动缓存应用程序请求路由缓存节点(即“预热”缓存节点),以满足预期需求。

ARR 提供预热缓存的方法。 概括而言,ARR 使用包含 URL 分隔列表(每行一个 URL)的文件。 ARR 在 URL 列表中应用正确的 URL 重写规则和 CARP,以确保正确缓存这些 URL。 ARR 可以通过两种方式使用该文件:

  1. 该文件位于文件系统上。
  2. 该文件托管在 Web 服务器上,可通过 HTTP(或 HTTPS)访问。

注意

如果该文件中的任何 URL 指向安全 (HTTPS) 网站上的内容,则必须针对 HTTPS 配置 ARR 缓存节点。 ARR 向 localhost 发送 GET 请求以处理 URL 重写规则和 CARP,确保正确缓存预缓存的对象。

在以下情况下,此功能非常有用:

  1. 你希望主动缓存内容,以满足预期需求。
  2. 你希望确保无论内容是否常用始终缓存内容。

此功能可用于同时在子缓存层和父缓存层上预缓存所有缓存节点,也可用于仅在父缓存层上进行预缓存。

由于 ARR 使用包含 URL 列表的文件进行批量操作,因此在继续本演练之前,需要具备此文件。

先决条件

本文假定你已熟悉 ARR 的整体功能,并了解如何使用磁盘缓存部署并配置 ARR。 如果尚未这样做,强烈建议在继续操作之前查看以下演练:

如果尚未安装应用程序请求路由版本 2,可在以下位置下载:

  • 此处为适用于 IIS 7 (x86) 的 Microsoft 应用程序请求路由版本 2 (https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE)。
  • 此处为适用于 IIS 7 (x64) 的 Microsoft 应用程序请求路由版本 2 (https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE)。

请按照安装应用程序请求路由版本 2 一文中所述的步骤安装 ARR 版本 2。

步骤 1 - 预热所有 ARR 缓存节点(同时在子缓存层和父缓存层上进行)

若要同时在子缓存节点和父缓存节点上预缓存内容,需在子缓存节点上执行预缓存操作。

使用 UI 预热 ARR 缓存节点

  1. 启动 IIS 管理器。

  2. 在服务器级别可使用缓存预热功能。 选择并展开服务器的根目录。

    Screenshot of the A R R 1 server option being highlighted.

  3. 双击“应用程序请求路由缓存”。

  4. 在“操作”窗格中,单击“预缓存对象...”

    Screenshot of the Actions pane with a focus on the Pre-cache Objects option.

  5. 在“预缓存对象”对话框中,输入包含 URL 的文件的位置和日志文件的位置。 这两个值是必需的。 下面的示例中会用到以下值:

    c:\mydocuments\warmup.txt c:\mydocuments\warmup.log

    Screenshot of the Pre cache objects dialog box.

    可以指定 URL,这样就不用提供文件在文件系统上的位置。 例如,可以使用 http://mytestserver/warmup.txt

    注意

    在 warmup.txt 文件中,必须每行一个 URL。 此外,如果按照在 CDN 中部署应用程序请求路由一文所述重写主机名,则此文件中 URL 的域名必须与缓存节点要接收的域名一致。 必须预先重写 URL 的域名,因为 ARR 会处理 URL 以重写主机名和应用 CARP,从而正确缓存内容。

步骤 2 - 验证功能

若要查看预热功能是否正常工作,请查看步骤 1 中指定的日志文件。

  1. 找到日志文件。

  2. 使用记事本打开日志文件。 日志文件如以下示例所示。

    Screenshot of the Notepad log file containing various file paths.

  3. 或者,可以使用 ARR 的浏览功能,通过 IIS 管理器查看缓存的内容。 有关浏览功能的详细信息,请参阅在应用程序请求路由上浏览磁盘上的缓存内容一文。

步骤 3 - 仅在父缓存层上预热 ARR 缓存节点

在某些情况下,仅在父缓存层上进行预缓存十分有用。 例如,父缓存节点可按地理位置分散,以支持区域子缓存节点。 在这种环境下,仅父缓存节点预缓存内容可能就足够了,而且还能防止子缓存节点过早地预缓存内容。

仅在父缓存层进行预缓存的步骤类似于上述步骤 1 中所述的步骤。 主要区别在于:

  • 在父缓存节点上执行预缓存操作(而不是步骤 1 中的子缓存节点)。
  • 为在父缓存节点上正确确定 CARP,还需提供其他信息。

使用 UI 预热 ARR 缓存节点

  1. 启动 IIS 管理器。

  2. 在服务器级别可使用缓存预热功能。 选择并展开服务器的根目录。

    Screenshot of the A R R 1 server root being highlighted, expanding to reveal more options.

  3. 双击“应用程序请求路由缓存”。

  4. 在“操作”窗格中,单击“预缓存对象...”

    Screenshot of the Actions pane with a focus on the Pre Cache Objects option.

  5. 在“预缓存对象”对话框中,除了提供如以上步骤 1 中所述的必要信息外,请选中“不缓存此服务器上的所有内容”复选框以进一步展开此对话框。

    Screenshot of the Pre cache objects dialog box with the Do not cache all content on this server option being selected.

    在对等服务器表中输入 ARR 服务器的名称,包括要在其中运行预缓存操作的服务器。 此操作将自动填充“此服务器的地址”下拉列表。 选择要在其中执行此操作的服务器的名称。

    重要

    须提供对等服务器的名称并在下拉列表中选择该服务器,才能正确处理 CARP。 请注意,服务器的名称必须完全匹配服务器场中子缓存节点引用服务器的方式。 CARP 使用哈希算法,该算法会考虑服务器的名称。 因此,要计算出相同的哈希值,服务器的名称必须完全匹配

总结

现在,你已使用包含 URL 列表的文件成功预热 ARR 缓存节点。

有关 ARR 版本 2 的其他演练,请参阅应用程序请求路由版本 2 概述一文中的文档。