介绍一下Ballast。一个自适应的负载测试框架

Introducing Ballast: An Adaptive Load Test Framework

As Uber’s architecture has grown to encompass thousands of interdependent microservices, we need to test our mission-critical components at max load in order to preserve reliability. Accurate load testing allows us to validate if a set of services are working at peak usage and optimal efficiency while retaining reliability.

由于Uber的架构已经发展到包括数千个相互依赖的微服务,我们需要在最大负荷下测试我们的关键任务组件,以保持可靠性。准确的负载测试使我们能够验证一组服务是否在峰值使用和最佳效率下工作,同时保持可靠性。

Load testing those services within a short time frame comes with its unique set of challenges. Most of these load tests historically involved writing, running, and supervising tests manually. Moreover, the degree to which tests accurately represent production traffic patterns gradually decreases over time as traffic organically evolves, imposing a long-term maintenance burden. The scope of the load testing effort continuously increases as the number of services grows, incurring a hidden cost to adding new features.

在短时间内对这些服务进行负载测试,有其独特的挑战。大多数这些负载测试在历史上涉及到手动编写、运行和监督测试。此外,随着流量的有机演变,测试准确代表生产流量模式的程度会逐渐降低,从而带来长期的维护负担。负载测试工作的范围随着服务数量的增加而不断增加,从而产生了增加新功能的隐性成本。

With this in mind, we developed Ballast, an adaptive load test framework that leverages traffic capture using Berkeley Packet Filter (BPF) and replays the traffic using a PID Controller mechanism to adjust the number of requests per second (RPS_)_ to each service. Ballast removes the toil of writing, running, and supervising load tests, improves load test coverage, and performs continuous load testing, providing insight into service capacity and improving deployment safety on an always-on basis.

考虑到这一点,我们开发了 镇流器一个自适应的负载测试框架,它利用伯克利包过滤器Berkeley Packet Filter压舱物),并使用PID控制器机制重放流量,以调整每个服务的每秒请求数(RPS_)。Ballast消除了编写、运行和监督负载测试的辛劳,提高了负载测试的覆盖率,并执行连续的负载测试,提供了对服务能力的洞察力,并在永远在线的基础上提高部署的安全性。

In the following sections, we will describe the design of Ballast and how this powerful framework for load testing has freed us from the associated toil.

在下面的章节中,我们将描述Ballast的设计以及这个强大的负载测试框架是如何将我们从相关的劳作中解放出来的。

High-Level Architecture Overview

高级架构概述

Figure 1: Ballast Archit...

开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-23 00:56
浙ICP备14020137号-1 $访客地图$