Lambda 函数的响应流
配置 Lambda 函数 URL 以将响应负载流式传输回客户端。响应流式处理可通过提高首字节时间(TTFB)性能,使延迟敏感型应用程序受益。这是因为您可以在部分响应可用时将其发送回客户端。此外,您可以使用响应流式处理来构建返回较大负载的函数。响应流负载的软限制为 20MB,而缓冲响应的软限制为 6MB。流式处理响应还意味着您的函数不需要在内存中容纳整个响应。对于非常大的响应,这样可以减少您需要为函数配置的内存量。
Lambda 流式处理您的响应的速度取决于响应大小。函数响应的前 6MB 的流式处理速率无上限。对于大于 6MB 的响应,响应的其余部分受带宽上限的限制。有关流式处理带宽的详细信息,请参阅响应流式处理的带宽限制。
流式处理响应会产生费用。有关更多信息,请参阅AWS Lambda 定价
Lambda 在 Node.js 托管式运行时系统上支持响应流式处理。对于其他语言,您也可以使用带有自定义运行时系统 API 集成的自定义运行时系统来流式处理响应或使用 Lambda Web Adapter
注意
通过 Lambda 控制台测试函数时,将始终显示缓冲响应。
响应流式处理的带宽限制
您的函数响应负载的前 6MB 的带宽无上限。在此初始突增之后,Lambda 会以最大 2MBps 的速率流式处理您的响应。如果您的函数响应从未超出 6MB,则此带宽限制永远不适用。
注意
带宽限制仅适用于您的函数的响应负载,不适用于您的函数的网络访问。
无上限带宽的速率因多种因素而异,其中包括函数的处理速度。通常,函数响应的前 6MB 的速率高于 2MBps。如果您的函数将响应流式处理到 AWS 以外的目标,则流式处理速率还取决于外部互联网连接的速度。