How To Load Test a Drupal 9 Website

Jeremy
Fabianx

The Tag1 team created much of the code that makes Drupal scale and we are widely recognized as the leading experts when it comes to Drupal performance and scalability. In this talk, drawing on lessons we've learned from 20 years of experience, we’ll walk you through the process of writing and running extensible load tests for a Drupal 9 site.

We will show you how to setup and run a load test that simulates both anonymous visitors and logged in users, accessing multiple languages in a multilingual site, performing searches and validating the results, and logging in and editing nodes. This demonstration is built around Umami, the demo install of D9, and we open sourced these real world example tests so you can quickly adapt them to your own D9 sites.

We’ll also show you how we stress test the Drupal memcache module - which most large Drupal sites rely on to scale; we’ll discuss the challenges involved in stress testing a caching system, and why (and how) the module is tested before every release.

Testing will be done with Goose, a open source Locust-inspired load testing framework Tag1 created in Rust to solve the pain points we've experienced using other tools. It takes advantage of multiple processing cores, making Goose exceptionally fast. We'll also explore how easy it is to run a distributed load test, making Goose the most scalable customized load testing tool available right now.

Track

Development & Coding