View a markdown version of this page

PERF04-BP06 根据网络要求选择工作负载的位置 - 性能效率支柱

PERF04-BP06 根据网络要求选择工作负载的位置

评估资源置放选项,以便减少网络延迟和提高吞吐量,通过缩短页面加载和数据传输时间来提供最佳的用户体验。

常见反模式:

  • 将所有工作负载资源整合到一个地理位置中。

  • 选择的是离自己位置最近的区域,而不是离工作负载最终用户最近的区域。

建立此最佳实践的好处:用户与应用程序之间的延迟会极大地影响用户体验。通过使用适当的 AWS 区域和 AWS 专用全球网络,您可以减少延迟,为远程用户提供更好的体验。

在未建立这种最佳实践的情况下暴露的风险等级:中

实施指导

Amazon EC2 实例等资源被放置在 AWS 区域、AWS Local Zones、AWS Outposts 或 AWS Wavelength 区域内的可用区中。选择此位置会影响给定用户位置的网络延迟和吞吐量。Amazon CloudFront 和 AWS Global Accelerator 等边缘服务也可用于在边缘站点缓存内容或为用户提供通过 AWS 全球网络到达工作负载的最佳路径,从而提高网络性能。

Amazon EC2 为联网提供置放群组。置放群组是实例的逻辑分组,可以减少延迟。使用具有支持的实例类型和弹性网络适配器(ENA)的置放群组,可使工作负载参与低延迟、低抖动的 25Gbps 网络。建议将置放群组用于可受益于低网络延迟和/或高网络吞吐量的工作负载。

延迟敏感型服务使用 AWS 全球网络在边缘站点交付,例如 Amazon CloudFront。这些边缘站点通常提供内容分发网络(CDN)和域名系统(DNS)等服务。通过在边缘交付这些服务,工作负载可以低延迟响应内容或 DNS 解析请求。这些服务还提供地理定位服务,例如内容地理定位(基于最终用户位置提供不同内容),或基于延迟的路由(将最终用户引导至最近的区域以实现最小延迟)。

可使用边缘服务来减少延迟并启用内容缓存。为 DNS 和 HTTP/HTTPS 正确配置缓存控制,以便通过这些方式获得最大优势。

实施步骤

  • 捕获有关传入和传出网络接口的 IP 流量的信息。

  • 分析工作负载中的网络访问模式,以便确定用户如何使用应用程序。

  • 请根据以下关键元素,为您的工作负载部署选择区域:

    • 数据所在位置:对于数据密集型应用程序(如大数据和机器学习),应用程序代码的运行应尽量接近数据。

    • 用户所在位置:对于面向用户的应用程序,选择接近您工作负载用户的一个或多个区域。

    • 其他约束:考虑成本和合规性等约束因素,如 What to Consider when Selecting a Region for your Workloads 中所述。

  • 使用 AWS Local Zones 运行视频渲染等工作负载。Local Zones 使计算和存储资源更接近终端用户,从而使您受益。

  • 将 AWS Outposts 用于需要保留在本地的工作负载,在此您希望该工作负载与 AWS 中的其他工作负载一起无缝运行。

  • 高分辨率实时视频流、高保真度音频和增强现实或虚拟现实(AR/VR)等应用要求 5G 设备具有超低延迟。对于此类应用程序,请考虑使用 AWS Wavelength。AWS Wavelength 在 5G 网络内嵌入 AWS 计算和存储服务,为开发、部署和扩展超低延迟应用提供移动边缘计算基础设施。

  • 对常用资产使用本地缓存或 AWS 缓存解决方案,以提高性能,减少数据移动并减小对环境的影响。

    服务 何时使用

    Amazon CloudFront

    用于缓存静态内容(如图像、脚本和视频)以及动态内容(如 API 响应或 Web 应用程序)。

    Amazon ElastiCache

    用于缓存 Web 应用程序的内容。

    DynamoDB Accelerator

    用于将内存中加速添加到 DynamoDB 表。

  • 使用有助于您在更接近工作负载用户的位置运行代码的服务,例如:

    服务 何时使用

    Lambda@Edge

    用于执行计算密集型操作,当对象不在缓存中时启动这些操作。

    Amazon CloudFront Functions

    用于处理简单应用场景,如 HTTP(S) 请求或响应操作,这些操作可由短期运行的函数启动。

    AWS IoT Greengrass

    用于为互联设备运行本地计算、消息收发和数据缓存。

  • 有些应用程序需要固定入口点,或通过减少第一个字节延迟和抖动以及提高吞吐量来提高性能。在边缘站点提供静态任播 IP 地址和 TCP 终止的联网服务可以让这些应用程序受益。AWS Global Accelerator 可以将应用程序的性能提高多达 60%,并为多区域架构提供快速失效转移。AWS Global Accelerator 提供静态任播 IP 地址,可作为一个或多个 AWS 区域 中托管的应用程序的固定入口点。这些 IP 地址使流量在尽可能靠近用户的位置进入 AWS 全球网络。AWS Global Accelerator 在客户端和最靠近客户端的 AWS 边缘站点之间建立 TCP 连接,从而缩短初始连接设置时间。检查 AWS Global Accelerator 的使用情况,以提高 TCP/UDP 工作负载的性能,并为多区域架构提供快速失效转移。

资源

相关最佳实践:

相关文档:

相关视频:

相关示例: