Scalable Multi-server CMS

MODX was architected for performance and scaling. Discover why this makes a huge difference for busy sites.

By Ryan Thrash  |  Updated: September 9, 2020  |  3 min read
Scalable Multi-server CMS

When You Need to Serve Millions per Month

Many people have websites which start with modest visitor counts, but over time grow to serve a large audience. Anyone can build a website using almost any software and it usually works in the beginning. But things can start suffering from success you throw a few million visitors at it in a short period of time. And if your site contains any dynamic elements the challenge of serving pages quickly—or keeping the site online at all—is even more acute.

This is exactly what happened with Mitch Wilson, of Sports Chat Place. His site grew over the years and he jumped thorugh the hoops of platforms to try to scale it but he still hit the wall. It went from WordPress in the beginning, took a brief stop in Silver Stripe, and ultimate wound up in MODX Revolution. Even then, an increasing and accelerating user base due to Mitch's successful SEO and search engine marketing—despite being on larege server with 96GB RAM—his site would slow to a crawl or go offline when his articles hit the front page of Google News.

Cached by Design

We immediately started looking for more efficient ways to serve his content and were able to do so withotu changing anything about how he created or managed it. To improve his site performance, we used both the native caching built into MODX along with the GetCache Snippet which caches things for a period of time. This significantly improved the server performance and reduced its load.

MODX Revolution was designed from day one to scale. Unlike other popular platforms including the ones that Mitch tried, it includes a robust caching system out of the box and keeps scaling in mind. You don't even have to do anything special to make it work, other than make sure Snippet calls are made cached.

It. Just. Works.

In fact, MODX’s default caching system can handle more visitors than most sites will ever see. But in Mitch's case, we wanted to improve the performance even more.

Advanced Caching

When your site has dynamically generated content, is frequently updated, or has a large number of visitors in a short period of time—in Mitch's case, all three applied—employing advanced caching like static caching, memcached and others methods can help keep your site serving fast and visitors happy. For we chose to implement static caching writing to a memcached partition to quickly serve cache hits from RAM. Site performance increased yet again, and it further reduced the load on the server.

Because MODX is architected to override how it handles tasks like caching, it is straightforward to configure a site to use more advanced caching methods and to serve more visitors like we did for Mitch. This meant that not only did his site stay online, but we were also able to reduce RAM requirements down from 96GB down to a 16GB.

Scale Horizontally & High Availability

Eventually, every website will suffer downtime. Servers will fail, DDoS attacks against data centers, network mainteance and more can cause an outage. When the data center hosting Mitch's site endured an unprecedented and massive extended DDoS attack degrading network availability, it was time to increase the availability for

MODX chose a Highly Availabile (HA) design with the site being served from multiple data centers in different parts of the country. Now, if a data center experiences a DDoS attack that impacts performance, or if maintenance is needed on a server, the load balancer transparently and automatically handles sending all traffic to secondary servers. A side benefit is the site loads faster because it uses geobalancing to distrbute traffic to the closest server to visitors.

Scaling that Just Works

Whether you need to get the most performance out of a shared server, or you have an important site that cannot go down, you can achieve it with MODX.

Get Help Scaling MODX