Cloud native computing paradigm allows microservice-based applications to take advantage of cloud infrastructure in a scalable, reusable, and interoperable way. However, in a cloud native system, the vast number of configuration parameters and highly granular resource allocation policies can significantly impact the performance and deployment cost of such applications. For understanding and analyzing these implications in an easy, quick, and cost-effective way, we present PerfSim, a discrete-event simulator for approximating and predicting the performance of cloud native service chains in user-defined scenarios. To this end, we proposed a systematic approach for modeling the performance of microservices endpoint functions by collecting and analyzing their performance and network traces. With a combination of the extracted models and user-defined scenarios, PerfSim can simulate the performance behavior of service chains over a given period and provides an approximation for system KPIs, such as requests' average response time. Using the processing power of a single laptop, we evaluated both simulation accuracy and speed of PerfSim in 104 prevalent scenarios and compared the simulation results with the identical deployment in a real Kubernetes cluster. We achieved ~81-99% simulation accuracy in approximating the average response time of incoming requests and ~16-1200 times speed-up factor for the simulation.
翻译:云层本地计算模式使得基于微观服务的应用能够以可缩放、可再使用和互操作的方式利用云层基础设施。然而,在云层本地系统中,大量的配置参数和高颗粒资源分配政策可以大大影响这些应用的性能和部署成本。为了以简单、快速和具有成本效益的方式理解和分析这些影响,我们介绍了PerfSim,这是在用户定义的情景中,一个用于近距离匹配和预测云层本地服务链性能的离散活动模拟器。为此,我们提议了一个系统化的方法,通过收集和分析其性能和网络跟踪,模拟微型服务终端功能的性能。结合了提取模型和用户定义的情景,PerfSim可以模拟服务链在特定时期内的性能和部署成本分析。我们利用一台膝上型膝上型计算机的处理能力,在104种常见情景中评估了 PerfSimmim的模拟精度和速度,并将模拟结果与实际Kubernetes终端组合中的部署结果进行比较。我们实现了以-81-12m imimimimimalimal asimingal asimingalimation asimpeal asimm