Backend and Infrastructure

What Is Server Scaling? for Drupal 8, 9, and 10

Server scaling is the process of adding more resources (CPU, memory, disk space, etc.) to a server (or servers) to help with performance. This might be a single server, or a cluster of different machines. When we talk about server scaling, think more about the resources and less about the specific hardware. Modern servers may not always resemble a physical machine that you can open up and insert additional RAM into. But the theory is the same: more memory means the server can handle more concurrent requests.

Sometimes your Drupal site is optimized, but traffic is still high and takes most of the server’s resources. In order to sustain that load you'll need to scale your server up.

Sometimes you don’t have the resources or expertise to implement caching optimizations, refactoring code, and modifying slow queries -- all of which would improve Drupal's performance. In these cases, you may consider server scaling.

Server scaling can be done in two ways: horizontally or vertically.

In this tutorial we'll:

  • Learn what server scaling is
  • Discuss examples of both horizontal and vertical server scaling
  • Talk about when to choose horizontal versus vertical scaling strategies

By the end of this tutorial, you should understand the concept of server scaling and how it applies to a Drupal application.