[论文解读] Let's Trace It: Fine-Grained Serverless Benchmarking using Synchronous and Asynchronous Orchestrated Applications
该论文介绍了 ServiBench,这是一个开源的细粒度无服务器基准测试套件,通过同步和异步编排的应用程序实现端到端性能分析,借助分布式追踪技术。研究发现,无服务器工作负载中的端到端延迟通常由外部服务调用、编排或触发协调引起,而非函数计算本身,为性能优化提供了可操作的见解。
Making serverless computing widely applicable requires detailed performance understanding. Although contemporary benchmarking approaches exist, they report only coarse results, do not apply distributed tracing, do not consider asynchronous applications, and provide limited capabilities for (root cause) analysis. Addressing this gap, we design and implement ServiBench, a serverless benchmarking suite. ServiBench (i) leverages synchronous and asynchronous serverless applications representative of production usage, (ii) extrapolates cloud-provider data to generate realistic workloads, (iii) conducts comprehensive, end-to-end experiments to capture application-level performance, (iv) analyzes results using a novel approach based on (distributed) serverless tracing, and (v) supports comprehensively serverless performance analysis. With ServiBench, we conduct comprehensive experiments on AWS, covering five common performance factors: median latency, cold starts, tail latency, scalability, and dynamic workloads. We find that the median end-to-end latency of serverless applications is often dominated not by function computation but by external service calls, orchestration, or trigger-based coordination. We release collected experimental data under FAIR principles and ServiBench as a tested, extensible open-source tool.
研究动机与目标
- 为解决缺乏支持同步和异步模式的应用级、具有生产代表性的无服务器基准测试问题。
- 通过分布式追踪实现全面、可复现的性能评估,用于端到端延迟分析。
- 为研究人员和实践者提供符合 FAIR 原则的开源工具集和数据集,用于分析和比较无服务器平台的行为。
- 识别并量化真实世界无服务器应用中延迟的根本原因,超越函数执行时间的范畴。
提出的方法
- ServiBench 使用十个真实、开源的无服务器应用,涵盖多种编排模式,包括 HTTP 触发、事件驱动工作流以及消息队列集成。
- 通过外推云服务提供商的指标(如内存与 CPU 比率、调用模式)生成真实的工作负载,以模拟接近生产的环境条件。
- 框架集成分布式追踪技术,捕获函数与外部服务之间的端到端延迟,支持对性能瓶颈的白盒分析。
- 采用追踪超分辨率技术,提升低覆盖率的 Azure Functions 追踪数据,提高延迟测量的保真度。
- 该工具自动化部署、负载生成、指标收集和追踪分析,确保实验的完全可复现性。
- 通过一种新颖的延迟分解技术对结果进行分析,将延迟贡献分离为编排、外部服务和函数执行三部分。
实验结果
研究问题
- RQ1在真实世界的无服务器应用中,端到端延迟的主要贡献因素是什么?它们在不同编排模式下如何变化?
- RQ2与纯函数计算相比,外部服务调用和编排逻辑在延迟中所占的比重有多大?
- RQ3在 AWS 上,不同无服务器应用架构的性能特征(如冷启动、尾部延迟和可扩展性)如何变化?
- RQ4在具有异步工作流的无服务器系统中,分布式追踪能否有效识别性能退化的根本原因?
- RQ5如何设计基准测试工具,以支持无服务器计算中可复现、符合 FAIR 原则且可扩展的性能分析?
主要发现
- 无服务器应用的中位端到端延迟通常由外部服务调用、编排逻辑或基于触发的协调引起,而非函数本身的执行时间。
- 异步工作流由于事件排队和函数间协调,引入了显著的延迟开销,尤其在多阶段处理流水线中更为明显。
- 冷启动仍是尾部延迟的重要影响因素,特别是在调用频率较低或具有高吞吐量突发工作负载的应用中。
- 无服务器应用的性能对所选外部服务及其集成模式极为敏感,部分服务会引入不成比例的延迟。
- 基于追踪的分析表明,编排层(如 API Gateway 或消息队列)在复杂工作流中可贡献高达 40% 的总延迟。
- 本研究证明,传统微基准测试无法捕捉真实世界性能特征,尤其是在事件驱动和分布式无服务器架构中。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。