跳至主要内容

什么是延迟敏感?

什么是延迟敏感?

延迟敏感度是指应用程序或工作负载的性能受请求与响应周期时间(超出正常时长)影响的程度。延迟时间包括网络传输时间、处理时间和存储时间。例如,对于实时视频流等延迟敏感度极高的应用程序,网络拥塞可能导致服务中断,从而使应用程序无法使用。对于延迟敏感度较低的应用程序(如文件系统备份服务),即使完成时间比平时长 10 倍,也不会影响最终结果。延迟敏感型应用程序可从延迟优化措施(如采用高带宽网络和缓存策略)中受益。

为什么延迟敏感度很重要?

出于多种原因,在全面部署应用或工作负载之前,明确其延迟敏感度至关重要。

对用户体验的影响

如果应用对延迟敏感,可能会显著影响用户体验。应用可能会出现中断、等待时间延长、运行变慢或意外退出等情况,这些都会让用户感到沮丧。

业务成果

受延迟影响的应用程序,其业务产出结果所需的时间往往较长。在这种情况下,无论是否有用户与系统交互,延迟都会影响业务生产力。

系统架构要求

延迟敏感型应用程序通常需要特定的系统架构,以避免服务性能下降。例如,旧款手机通常仍能运行新版本的移动操作系统(OS)软件,但用户会察觉到响应速度变慢。采用符合应用程序延迟要求的系统至关重要。

什么是延迟敏感型应用程序?

延迟敏感型应用程序或工作负载是指那些一旦延迟偏离正常水平,就会对用户或业务产生负面影响的应用程序。评估应用程序的延迟敏感度有助于确定应部署哪些延迟优化措施。

高延迟敏感型应用程序

高度延迟敏感的应用程序是指即使延迟发生极微小的变化,也会导致服务质量下降的应用程序。此类应用程序需要在系统各个层面进行延迟优化。

高度延迟敏感应用程序的一个例子是视频会议应用程序;极小的延迟就可能导致漏听、语音失真或视频流中断,从而使应用程序无法发挥其应有作用。

中度延迟敏感应用程序

中度延迟敏感应用程序对系统内的延迟具有较强的适应能力。只有在延迟极高的情况下,应用程序才可能出现服务中断;否则,延迟波动的影响微乎其微。

中度延迟敏感应用程序的一个例子是内部即时通讯应用;消息传递中的微小延迟不会影响用户体验。

低延迟敏感型应用程序

低度延迟敏感应用程序不受系统延迟的影响,或者延迟产生的影响不会波及用户体验或业务结果。

低度延迟敏感应用程序的一个例子是周末进行的文件系统备份;无论备份耗时几分钟还是几小时都无关紧要,且即使系统处理的是关键数据,该过程也能在长时间中断后恢复。

是什么导致了系统延迟?

应用程序或工作负载的延迟是指系统内从发出请求到收到响应之间的时间间隔。系统的整体延迟由许多组件共同构成。以下是影响整体延迟的三个最重要因素。

网络延迟

网络延迟是指通过网络传输消息所花费的时间。网络延迟受多种因素影响,包括网络带宽不足导致的排队延迟、网络流量、数据包大小、路由选择以及其他网络通信和网络基础设施要素。

处理延迟

处理延迟是指应用程序处理请求并输出结果所花费的时间。数据处理延迟可能受应用程序所使用的编程语言、底层硬件或代码编写方式的影响。

存储延迟

存储延迟是指在应用程序与存储设备之间传输数据所花费的时间。存储延迟受应用程序所使用的存储类型(如物理或虚拟 RAM 以及 SSD)以及处理器与存储之间的通信方式影响。

延迟敏感型应用程序有哪些特征?

延迟敏感型应用程序通常具有以下几个特征:

  • 大量的系统请求

  • 实时性能要求

  • 流式处理或事件驱动的处理

  • 高带宽消耗

  • 有状态系统

尽管并非所有延迟敏感型系统都具备所有这些特征,但至少具备其中一两个特征。

如何衡量延迟敏感度?

衡量延迟是一项基于时间的工作,通常使用百分位数来衡量延迟分布情况。例如,通常会衡量系统在第 50、95 和 99 百分位下的完整请求与响应周期。第 50 百分位代表系统针对任何用户或系统的整体中位延迟。

但是,考量延迟敏感度时,主要应从影响的角度出发:即对用户或业务的影响。这意味着,要衡量应用程序的延迟敏感度、对其进行分级并决定采用何种延迟优化措施,就需要同时衡量用户影响和业务影响。例如,您可以针对系统在第 50、95 和 99 百分位运行时的表现进行用户调查,从而确定满意度。同样,您也可以在第 50、95 和 99 百分位下运行系统,以评估其对业务系统吞吐量的影响。

针对延迟敏感型应用程序,有哪些最佳实践?

有多种方法可以在整个系统中降低延迟。以下是一些降低延迟的常用技术。

边缘计算

边缘计算将应用程序部署在更靠近最终用户的位置,从而减少与网络相关的延迟。

缓存策略

针对频繁访问的数据采用缓存策略(例如在本地、边缘或预处理阶段存储数据),有助于降低处理延迟。

连接优化

利用网络工程技术(如专用连接和高速互联网)来提升网络带宽或速度,有助于降低网络延迟。

地理分布

Latencies to various geographic locations

将应用程序部署在多个最靠近用户的地理位置(例如使用内容分发网络),而不是单一的中心位置,有助于降低网络延迟。

负载均衡

当应用程序能够将处理任务分布到多台机器或多个 CPU 上时,这有助于缩短处理时间。

AWS 如何满足您的延迟敏感型需求?

AWS 提供多种实例类型、网络服务和交付架构,以确保您对延迟高度敏感的应用程序在任何区域都能顺畅运行:

  • Amazon CloudFront 是一项内容分发网络服务,可帮助您以低延迟和高传输速度安全地分发内容。CloudFront 通过具有自动化网络映射和智能路由的 700 余个遍布全球的入网点(PoP)提供数据,从而降低延迟。

  • Amazon EC2 提供针对延迟进行优化的实例,以满足各区域严苛的业务需求。

  • Amazon ElastiCache 是一项无服务器、完全托管的缓存服务,可实现微秒级延迟,并兼容 Valkey、Memcached 和 Redis OSS。

  • AWS Global Accelerator 允许您在其中一个 Global Accelerator 边缘站点接入用户流量。AWS Global Accelerator 有助于将您的应用程序网络性能提升高达 60%。

  • AWS Local Zones 允许您在更靠近最终用户和工作负载的 AWS 基础设施上运行应用程序,同时满足针对监管和合规敏感型工作负载的数据驻留要求。

立即创建免费账户,开始在 AWS 上运行延迟敏感型工作负载。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages