Building a server platform for a busy WordPress blog

TheLincolnite is one of the fastest growing regional news websites around. They’ve won numerous awards for their refreshing approach to up-to-date journalism, and in the 18 months they have been a customer with Jolt, they’ve grown from around 50,000 monthly page views to well over 1 million. That’s impressive!

As well as impressive, it has also posed a set of infrastructure challenges as TheLincolnite outgrew their old dedicated server.

We were asked to step in and upgrade their single dedicated server to a platform that can potentially sustain up to 5M page views per month. Our years of WordPress hosting experienced went to work, and we quickly drew up a blueprint for a solid server platform to handle their growth.

There were several challenges here:

  • To provide database server load tolerance. The Database Server is the weakest point of any heavily loaded site, the least scalable. In turn, the weakest point of any database server is storage system performance, DB transactions are extremely I/O intense.
  • To provide sufficient computing power for WordPress code execution. WordPress is known to be CPU intense, and caching, which is supposed to improve WordPress site speed, often makes things even worse due to high I/O demand.
  • To provide future scalability path for the hosting platform.

 

Our solution was to separate the Database Server from web server physically. This removes shared I/O, affecting both database and web server performance in a single physical environment.

We selected the fastest, latest, most performant hardware base for both the Database Server and the Web Server. These have same hardware platform, which is dual-CPU Intel Xeon e5-2620. Recent series high grade CPUs provide enough processing power to sustain expected load, assuming there are no other bottlenecks on the platform.

The Web Server has 128GB of physical RAM, and its storage system is hardware RAID-10 on 4 x 1TB mechanical enterprise-class SATA drives. RAID-10 is our mainstream solution, it provides very good access speed even in case of array degrade, and has excellent level of redundancy. Large SATA drives in RAID-10 array were used as a tradeoff between access speed and storage capacity.

The Web Server requires quite a lot of space for content uploads and extensive logging, however, there’s no extreme IOPS rate here, unless swap space is heavily used. The latter would hardly be the case, as we have more than enough physical memory. We even have enough RAM for deploying memcache for SQL query results in future, in order to leverage MySQL load. At this stage and level of load, RAM-based memcache isn’t required – the hardware has a lot of spare overheard.

The Database Server has less RAM at 64GB. Physical RAM is important but over a certain level, it isn’t the most critical resource for MySQL database, unless you store full data replicas in memory (we do not). A more common bottleneck of database servers is storage system performance, and not linear data transfer speed, but rather response time. That’s why selected RAID-10 array, built on 4 x SSD drives here. This may sound an overkill, but it’s not. A Database rule is: “storage is always slow”. Further, we used extra RAM for database temporary space. Temporary tables are created and destroyed very intensively during normal database operation, which means file creation and deletion, so this has serious impact on storage system load. /dev/shm did the trick here.

Filesystem configuration on DB server:

FS_config
Database filesystem config

MySQL configuration for temporary space on virtual FS:

my_cnf
MySQL temporary FS configuration

Live mounts:

mounts
Live mounts

Actual storage space usage:

FS_usage
Actual disk usage in production

If we ever need to scale up even further, there are several tiered options:

  • When PHP performance becomes the bottleneck on web server, we will add PHP caching and caching NGINX instance in front of apache.
  • If we need to scale PHP engine even further, separate MySQL server would let us add more web servers to the platform, and put them behind a load balancer.

When database performance becomes a bottleneck, we add memcached to web server(s), which dramatically leverages MySQL load.

Got a very busy / popular WordPress blog that requires powerful hosting? Have previous WordPress hosts been unable to cope with the load? Talk to us, we can help.

UK Dedicated Server Updates

Good morning! I’m pleased to share that we’ve made some adjustments to our UK dedicated server range and we’re now using the latest, fastest Intel Xeon CPUs in our new dediated servers.

Intel Xeon Server CPU
Intel Xeon Server

Our Intel Xeon E3 based servers now come with version 3 of this popular Intel CPU. Featuring 4 physical cores, 8 virtual cores, fast clock speeds, plenty of cache and even greener credentials, our E3-1230v3 and E3-1270v3 servers are well-priced, fast and reliable.

Our Dual Intel Xeon E5 based servers come with version 2 of the E5 series. We only deploy dual processor servers, giving each 12 real cores and 24 virtual cores (with hyperthreading) offering some of the fastest performance of any UK dedicated server around.

All of our servers are now available with SATA or SSD disks, a choice of bandwidth options (including unmetered bandwidth), a range of operating systems and additional software (including cPanel, CloudLinux, OnApp and more). We also offer 100% network uptime guarantee with each and every server.

Here are a few more pictures of our latest server racks. We are using Supermicro Microclouds and Quattros, delivering better rack and server density. This also means we have A/B power to each machine at rack level. And these servers are also much more efficient, underlining our green credentials and commitment to the environment. Enjoy the pics!

Supermicro Quattro and Microcloud dedicated servers
Supermicro Quattro and Microcloud dedicated servers

 

 

 

 

 

 

 

 

 

Rack cabling - 3 x network connections per server

Rack cabling – 3 x network connections per server

 

 

Remember, both existing and new customers can enjoy 50% off the first month of any dedicated server rental when they buy a UK dedicated server from Jolt.

 

An introduction from Adam

Hi! My name’s Adam and I’m the Community Evangelist for Jolt, having joined the company back in July.

What is a Community Evangelist?

Well I like to think of myself as a medium between you and Jolt, helping us to understand your needs, and helping you make an informed decision on if our services are a good fit for you. I try to view our services from the perspective of a customer, and try to find out what potential clients look for most in a web hosting company such as ourselves.

What does a Community Evangelist do?

Based in our Lincoln office in the UK, I work on a number of projects ranging from writing blog posts (such as this one!), researching and writing wiki tutorials for our wiki area (https://support.jolt.co.uk/articles), to replying to support tickets and helping Matt with any other tasks.

One of my favourite parts of the job is that I have the opportunity to attend various conferences, events and trade shows on behalf of the company which is enjoyable and allows me to grow my knowledge.

In the space of just a few months, I’ve already been lucky enough to have had exposure to many different areas of the company and as a former web hosting customer, I have begun to appreciate how things work ‘behind the scenes’, and the extent to which our support will go (I’ve seen numerous cases of Jolt support going the extra mile for customers!). There’s a great ‘family’ atmosphere at Jolt, and I’m proud to be part of the team!

If you’re considering us, but would like more information, or just fancy a chat to see if our services are right for you, feel free to drop me an email – adam.o[at]jolt.co.uk, and I’ll do my best to help.

Adam

WordPress 3.8 has been released!

Many of our web hosting clients use WordPress for their blog, and many others also use it as a CMS (Content Management Platform) for their personal/company website as the interface supports custom “themes”, through which the user can change every aspect of the look and feel.

One of the benefits of using a CMS as well-known as WordPress is that it is constantly being updated, which may seem like a hassle, but actually brings a number of key improvements – both features and security fixes. It’s the time of the “yellow banner” again –

Screen Shot 2013-12-13 at 10.06.10

WordPress 3.8 brings a host of new features, including:

  • Updated ‘responsive’ dashboard and admin area
  • New colour schemes

Screen Shot 2013-11-29 at 12.02.25

  • New default “Twenty Fourteen” theme

 

So as always, we’d recommend updating as soon as you get the chance to ensure you have the latest security patches to defend against hackers. If you’re not sure on how to update WordPress, we’ll be releasing a Wiki article shortly explaining the ways in which you can update.

More information on WordPress 3.8 “Parker” can be found on the official WordPress website by clicking here.

Adam