在应用程序请求路由中配置字节范围请求段大小

作者:Won Yoo

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

目标

了解和配置应用程序请求路由 (ARR) 如何处理字节范围请求。

先决条件

这是 ARR 中的一项高级功能。 本文假定你已熟悉 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)。

请按照这篇文档中概述的步骤安装 ARR 版本 2。

步骤 1 - 概述 ARR 中的字节范围请求功能。

不同的缓存代理以不同的方式处理字节范围请求。 对于 ARR,字节范围请求被分割成较小的部分,称为“区块”。管理员可配置“区块”的大小,建议根据环境中字节范围请求的典型大小设置大小,以便进一步优化。

此功能的核心是让 ARR 将字节范围请求“重新映射”为段。 如下图所示,当 ARR 收到字节范围请求时,它会尝试将请求分成“区块”,并确定需要发送到源服务器的相应范围(如果缓存节点分层,则会发送到下一层服务器)。收到响应时,ARR 会将内容存储成部分(即“区块”),并重写响应,以匹配 ARR 的原始请求。

R R 中字节短划线范围请求功能的示意图。

通过正常操作,ARR 最终会“收集”所有“区块”部分并缓存整个内容。

步骤 2 - 配置字节范围段大小。

默认情况下,字节范围段大小为 256KB。 管理员可能希望根据环境中的正常流量模式更改此值。

  1. 启动 IIS 管理器。

  2. 字节范围段大小设置是一个全局设置,在服务器级别进行管理。 选择并展开服务器的根目录。

    I S 管理器导航树的屏幕截图。突出显示了 A R R one 斜杠管理员istrator 选项。

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

  4. 在“操作”窗格中,单击“缓存配置...”

    “操作”窗格的屏幕截图。“缓存配置”按钮位于缓存管理标题下方。

  5. 在“缓存配置”页上,找到“字节范围段大小(KB):”输入字段

    “缓存配置”页的屏幕截图。在字节范围段大小 K B 框中,写入值 200 和 566。已选择“启用压缩”。

  6. 更改该值,然后单击“应用”。 在本演练中,需要将值设置为 1KB。

    注意

    此设置仅用于演练目的。 1KB 的段大小太小,可能会导致碎片化。

步骤 2 - 验证功能。

需要一个客户端工具,用于创建字节范围请求。 还需要跟踪和捕获 HTTP 请求,以确保客户端根据它发送的请求接收预期的响应。

  1. 发送范围为 0-500 的字节范围请求。 在此示例中,字节范围请求已发送到 /pix/IMG_1400.jpg。

  2. 如果有办法监视网络,例如使用 Microsoft 网络监视器,请验证客户端是否已收到 0-500 的范围。

  3. 在缓存驱动器位置找到 IMG_1400.jpg 所在的文件夹,并键入“dir /a”以列出内容

    管理员istrator 命令提示符页的屏幕截图。

  4. 验证是否存在名称为 0-1023 的文件。 此文件表示范围 0-1023(即一个区块)。 这是预期行为,因为范围 0-500“适合”在 0-1023 中。

  5. 为同一文件发送另一个字节范围请求,范围为 1500-3000。

    管理员istrator 命令提示符页的屏幕截图。列出文件和字节数。 列出同一目录。 由于范围 1500 到 3000“跨越”了两个“区块”(1024-2047 和 2048-3071),因此额外缓存了两个文件。

  6. 最后,为同一文件再发送一个字节范围请求,范围为 2500-4000。 列出同一目录。

    管理员istrator 命令提示符的 SCreenshot。列出字节短划线范围请求的目录。

  7. 在这种情况下,第一个“区块”(2048-3071) 会导致缓存命中。 ARR 确定需要获取第二个“区块”(3072-4095),并仅向源服务器发送字节范围请求,以获取第二部分。 再次使用网络监视器,验证客户端和 ARR 之间以及 ARR 与源服务器之间是否发送了适当的范围请求和响应。

总结

你已成功逐步了解了 ARR 如何支持字节范围请求,并配置了分段大小以优化环境中的设置。

有关 ARR 版本 2 的其他演练,请参阅这篇文章中的文档。