Autoscaling is critical for ensuring optimal performance and resource utilization in cloud applications with dynamic workloads. However, traditional autoscaling technologies are typically no longer applicable in microservice-based applications due to the diverse workload patterns and complex interactions between microservices. Specifically, the propagation of performance anomalies through interactions leads to a high number of abnormal microservices, making it difficult to identify the root performance bottlenecks (PBs) and formulate appropriate scaling strategies. In addition, to balance resource consumption and performance, the existing mainstream approaches based on online optimization algorithms require multiple iterations, leading to oscillation and elevating the likelihood of performance degradation. To tackle these issues, we propose PBScaler, a bottleneck-aware autoscaling framework designed to prevent performance degradation in a microservice-based application. The key insight of PBScaler is to locate the PBs. Thus, we propose TopoRank, a novel random walk algorithm based on the topological potential to reduce unnecessary scaling. By integrating TopoRank with an offline performance-aware optimization algorithm, PBScaler optimizes replica management without disrupting the online application. Comprehensive experiments demonstrate that PBScaler outperforms existing state-of-the-art approaches in mitigating performance issues while conserving resources efficiently.
翻译:自动缩放对于确保云应用程序在动态工作负载下实现最佳性能和资源利用至关重要。然而,由于微服务应用程序的各种工作负载模式和微服务之间的复杂交互作用,传统的自动缩放技术通常不再适用。具体而言,性能异常通过交互的传播导致大量异常微服务,使得难以确定根性能瓶颈(PBs)并制定适当的缩放策略。此外,为了平衡资源消耗和性能,现有的基于在线优化算法的主流方法需要多次迭代,导致振荡,增加了性能降低的可能性。为了解决这些问题,我们提出了PBScaler,这是一种基于瓶颈考虑的自动缩放框架,旨在防止微服务应用程序的性能降级。 PBScaler的关键见解是定位PBs。因此,我们提出了TopoRank,这是一种基于拓扑潜力的随机游走算法,可减少不必要的缩放。通过将TopoRank与离线性能感知优化算法相结合,PBScaler无需干扰在线应用程序即可优化副本管理。全面的实验表明,相对于现有最新技术,PBScaler在节约资源有效的同时减缓了性能问题。