SuperFlow: Performance Testing for Serverless Computing
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.
READ FULL TEXT