STAREAST 2020 Concurrent Session : Load Testing High-Traffic Services: Strategy to Execution


Thursday, May 7, 2020 - 9:45am to 10:45am

Load Testing High-Traffic Services: Strategy to Execution

Solving scaling issues with an application that has high traffic can be hard if load testing was not done (or was done without adequate planning). To ensure proper load testing of an application, it needs to be broken down into stages: 1) Analysis: Document how your system is currently behaving in production, including its system metrics such as average load, CPU, latency, and traffic, in order to pre-define the application's service-level agreement. 2) Test strategy: Test scripts to match production use case patterns, and choose a load testing framework. 3) Testing and documentation: Perform this for each phase—performance, capacity, stability, scalability, and chaos or failure testing. 4) Improvements: Develop improvements based on documentation, whether for latency issues or having metrics in place. In addition to load testing, you'll learn about topics like choosing the correct metrics, framework scalability, application stubbing, and how to efficiently build and reuse your application for continuous testing for performance regressions.

Malika Nikhmonova
Twilio, Inc

Malika Nikhmonova a software engineer on the messaging team at Twilio, which is a is a cloud communications platform-as-a-service company based in San Francisco. Prior to Twilio, she was working as a quality assurance test engineer at a solar company, NRG Home Solar. While working on the Twilio Messaging team, any new product is expected to sustain high load traffic, given that messaging accounts for the largest share of traffic at Twilio. Coming from a testing background, one of the main resilience criteria she has in mind when it comes to designing and building a new product is making sure an application is thoroughly tested.