介绍一下Shadower。一个最小化的负载测试工具

Introducing Shadower: A Minimalistic Load Testing Tool

Introduction

简介

Shadower is a load testing tool that allows us to provide load testing as a service to any microservice at Uber.

Shadower是一个负载测试工具,允许我们为Uber的任何微服务提供负载测试服务。

Shadower started as a command line application that allowed us to read a local file to load test a local application. At the time, Maps PEs were heavily investing in Java GC tuning. We needed Shadower to be able to do request mirroring to make sure two different applications get about the same load and different types of loads (test multiple endpoints). In summary, we were starting the same application twice: once with the production configuration and once with the new GC tuning. How’s this different from testing on staging? There are a few differences:

Shadower开始是一个命令行应用程序,它允许我们读取一个本地文件来加载测试一个本地应用程序。当时,Maps PE正在大力投资于Java GC的调整。我们需要Shadower能够做请求镜像,以确保两个不同的应用程序得到差不多的负载和不同类型的负载(测试多个端点)。总之,我们启动同一个应用程序两次:一次是生产配置,一次是新的GC调整。这与在staging上测试有什么不同?有几个区别。

  • Velocity: Testing on staging means pushing code to a branch, generating a build, and deploying it. This can take ~10 minutes compared to seconds locally, because locally we don’t need to generate a new build for configuration changes.
  • 速度。在staging上测试意味着将代码推送到一个分支,生成一个构建,并部署它。与本地的几秒钟相比,这可能需要10分钟,因为在本地,我们不需要为配置的变化生成新的构建。
  • Complexity: Our current infrastructure requires extra steps to allow multiple builds to run concurrently in the same environment, the reason for this is to reduce inconsistencies.
  • 复杂性。我们目前的基础设施需要额外的步骤来允许多个构建在同一环境中同时运行,这样做的原因是为了减少不一致。
  • Reliability: The current tools didn’t provide request mirroring, so we are at the mercy of the load balancing algorithm and how well randomized the requests are that we are using for our load test.
  • 可靠性。目前的工具没有提供请求镜像,所以我们只能任由负载平衡算法以及我们用于负载测试的请求的随机性如何。
  • Ease of use: The current tools needed developers to write code to be able to onboard a new service/endpoint.
  • 易用性。目前的工具需要开发人员编写代码,以便能够加入新的服务/终端。

Shadower stayed as a command line application for about a year until we built Ballast. Ballast required a reliable and easy-to-manage load test generator. Ballast is ...

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

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 12:22
浙ICP备14020137号-1 $Carte des visiteurs$