RSS The Airbnb Tech Blog - Medium

Load Testing with Impulse at Airbnb

Airbnb's system-level load testing is crucial for reliability and efficiency, identifying bottlenecks, evaluating capacity, establishing performance baselines, and detecting errors. Impulse is an internal load-testing-as-a-service framework that provides tools to generate synthetic loads, mock dependencies, and collect traffic data from production environments. Impulse includes four main components: a load generator, a traffic collector, a dependency mocker, and a testing API generator. The load generator allows service owners to conduct context-aware load tests, generating requests on the fly and mocking dependencies. The traffic collector captures both upstream and downstream traffic, allowing Impulse to accurately replay production traffic during load testing. The dependency mocker mocks downstream responses with latency, eliminating interference between services and reducing communication costs. The testing API generator creates HTTP APIs during the CI stage, enabling load testing tools to send traffic to these synthetic APIs, allowing asynchronous flows to be exercised as if they were synchronous. Impulse is designed to minimize manual effort, seamlessly integrate with Airbnb's observability stack, and empower teams to proactively address potential issues. The framework has received positive feedback, helping teams identify and address potential issues in their services. Impulse is currently being implemented in several customer support backend services and is under review with teams across the company.
medium.com
medium.com
Load Testing with Impulse at Airbnb
Create attached notes ...