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. 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 then simulate the performance behavior of all services over a given period and provide 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随后可以模拟所有服务在特定时期的性能行为,并为系统KPIs提供近似,例如请求的平均响应时间。我们利用一台膝上型计算机的处理能力,在104种常见的情景中评估了 PerfSim的模拟准确度和速度,并将模拟结果与在真实的 Kubernetes集群中相同的部署结果进行比较。我们实现了平均时间- 91-12 imimimimimimimal eximing crepeal repeactal aximpeactal aximpeal axyxyxxxxxxxxxxxxx