Serverless computing is an emerging cloud computing paradigm that allows software engineers to develop cloud applications as a set of functions (called serverless functions). However, accurately obtaining the performance (i.e., response latency) of serverless functions is challenging due to the highly dynamic nature of the environment in which they run. To tackle this problem, a possible solution is to use performance testing to determine how many repetitions of a serverless function with a given input are needed to cater to the performance fluctuation. To this end, we conduct an empirical study of state-of-the-art performance testing techniques for traditional cloud applications on 65 serverless functions collected from top-tier research venues. We find that these techniques exhibit low accuracy. Therefore, we propose SuperFlow, the first performance testing approach tailored specifically for serverless computing. SuperFlow incorporates an accuracy check and a stability check to obtain accurate and reliable performance results. The evaluation demonstrates that SuperFlow provides testing results with 97.22% accuracy, 39.91 percentage points higher than the best currently available technique. We have publicly released the code and data from this study to facilitate future replication and extension.
翻译:无服务器计算是一种新兴的云计算范式,它允许软件工程师以一组函数(称为无服务器函数)的形式开发云应用。然而,由于无服务器函数运行环境具有高度动态性,精确获取其性能(即响应延迟)十分困难。为应对该问题,一种可行的解决方案是采用性能测试,以确定对于给定输入的无服务器函数需要重复多少次才能应对性能波动。为此,我们对来自顶级研究机构的65个无服务器函数进行了实证研究,评估了传统云应用领域最先进的性能测试技术。研究发现这些技术准确性较低。因此,我们提出SuperFlow——首个专为无服务器计算定制的性能测试方法。SuperFlow集成了准确性检查与稳定性检查,以获取准确可靠的性能结果。评估表明,SuperFlow提供的测试结果准确率达97.22%,比当前最优技术高出39.91个百分点。我们已公开发布本研究的代码与数据,以便未来开展复现与扩展工作。