Is our high performance internet sorcery, just tricks, clever configuration, or something else? One thing is for sure, there are a lot of theories out there as to how we achieved faster server speed compared to everyone else. In this article I’m going to do my best to describe what we’re doing so that anyone can understand.
Table of contents
- The universal speed limit
- What is server speed?
- Making lightweight hosting
- What can be done to make hosting platforms lightweight?
- Implementing cutting edge
- Nothing of this is important
The universal speed limit
To fully understand our way of thinking, we must first understand the basics of a computer.
Every computer, whether a server or a laptop, has roughly the same starting point when it comes to speed; the CPU clock speed. Any computer’s maximum speed is limited by the clock speed of the CPU. Servebolt doesn’t have magic CPUs that are faster than all our competitors. We buy our CPUs from the same companies like everyone else; AMD and Intel. So what have we done to make our hosting faster than the alternatives?
Most people nowadays know that 2GHz is faster than 1GHz, 3GHz is faster than 2GHz and so on. But what are these GHz, or Gigahertz, everyone talks about when discussing CPU? CPU Clock Speed is a measure of how many CPU Clock Cycles, or simply “Cycles”, a CPU can run within 1 second. Within this cycle the CPU can do one simple operation, like addition or subtraction. If you had a CPU that could do one Cycle per second, you would have a 1Hz CPU. Luckily, we have CPU speeds way higher than 1Hz.
Now, let’s say you need 1 billion Cycles to deliver a website to a visitor. If you have a 1GHz CPU, that would take 1 second. If you have a 2 GHz CPU it would take half a second. And so on. If you’re a technical person, you know that there is more to it but let’s keep it simple for the sake of the example. So if you want to speed things up you have two options; getting a CPU with a higher clock speed (more cycles per second), or decreasing the number of cycles needed to complete whatever task you set it to do. Like delivering a website. The problem is you really only have one choice because CPU’s haven’t increased in speed for a long time.
What is server speed?
The way we see it, server speed is about both of the above. The speed of the hardware and the amount of computing needed to complete the task of delivering a webpage. You might not believe this, but all hosting companies, at least the performance-focused ones, use roughly the same CPUs. So that means we all have roughly the same hard limit when it comes to CPU speed. But when you benchmark, as ReviewSignal does, you see major differences in loading time of a website. That raises a lot of questions. One being; if you all use the same CPUs, shouldn’t you all have the same speed?
Making lightweight hosting
A common selling point for server-side software, like plugins or themes for WordPress, modules or themes for Magento, or any other type of server-side applications that you can install is this one word; is being lightweight. Most have understood by now that when something is lightweight it’s faster. It has less bloat, deadweight, or whatever you want to name code that is not really needed. But lightweight is not a word that is common in the hosting industry when we talk about hosting stacks and hosting software. That’s most likely because everyone is running the same software, or close to the same software. So the weight is not light or lighter. It’s even. That’s not a selling point.
We don’t want to have “even weight” and be the clog when you come to us to host your brand new, lightweight, website. We need to make our part lightweight as well.
What can be done to make hosting platforms lightweight?
To deliver a website to a visitor, a lot of software is needed. All software is code. Obviously, your website’s code (i.e WordPress, your theme, and plugins) needs to run. This code is run through a code processor, which is also built by code. To deliver a website you also need a web server, also built with code. Maybe you have security measures in place on the server, server administration tools like cPanel and Plesk, and the list goes on. It is all software and code. Everything runs inside an Operating System (OS), which is also code.
Long story short, there is a lot of code that needs to run to deliver one single page to one single visitor. All code ends up being operations on the CPU, requiring CPU Cycles to compute. The more code, the more CPU Cycles. Is all this code needed for the task of delivering a page to a visitor? Or is some of this code bloat or deadweight?
The way we have achieved the extreme performance you see in the Servebolt Cloud is to minimize the weight of the software that is needed to deliver a website. This software is in addition to the code that makes up your website, like the web server software, the code processor for PHP, and so on. More lightweight software means fewer CPU Cycles required to finish the delivery of one page to one visitor. We can’t slim down the code you bring – which makes up your website. But we can, and have, slimmed down everything else.
We don’t do on-server server administration
One major thing we have removed from the servers, compared to most other hosting alternatives, is server administration. We see running server administration software on the server as bloat. Instead, we do server administration centrally, and deploy configuration from a central “command center”. Our “command center” is what you send commands to when you do changes in our control panel at admin.servebolt.com. Running server administration in a centralized way relieves the server of the need to run the code you need to have an API or a GUI to configure your hosting through. This is why we with 100% certainty can say: Servebolt is faster than any cPanel/Plesk hosting or similar.
We don’t utilize virtualization
Most hosting companies use what’s called virtualization and it can be explained like this – one server (the host machine) that runs smaller servers on the inside called VMs – which is short for virtual machines. The VMs are not real physical servers even though they function like one, but they are just simulated by the host machine. This method gives a lot of flexibility, especially when it comes to removing, moving, or creating a new server. But there are also a lot of drawbacks to this method. The host machine uses something called a hypervisor, which is the system that gives the VMs access to the hardware where they can do the CPU calculations needed for them to operate. This software results in more code to be run, and this again results in longer processing time and the need for more CPU cycles.
Bigger Cloud companies like Amazon (AWS) and Google use this methodology in their infrastructure. And a lot of hosting companies utilize Cloud services like this to resell to their customers, but as mentioned before, this puts a limit on the overall performance due to the design of the system. So to sum it up; using virtualization has its upsides but it also comes with a penalty regarding performance. If you want to deliver cutting edge performance, then bare metal (no virtualization) is the way to go. And bare metal is what you get with Bolts in the Servebolt Cloud.
Custom builds – tailored for performance
But even if you run “bare metal”, there is still a lot of code that needs to run in the hosting stack. Operating Systems, Web servers, all code processors like PHP, all databases, they all come off the shelf for generic use. They are built to have as few errors as possible in as many systems as possible. Generic builds is what you get from most hosting companies because it’s easy and it works. But it comes with a catch, it’s not fast and it’s not optimized. It has a lot of ifs and buts to make sure it runs smoothly on as many servers as possible. And every “if this, then that” is code. Code, as we now know, needs CPU cycles to compute. And the more CPU cycles that are needed to deliver a website, the slower the website will be.
What we have done is build custom versions of the operating system (Linux), web servers (NGINX and Apache) and database (MariaDB) that we use. In these custom builds, or versions, we have removed everything that is not needed for our specific use, and optimized what’s left.
Implementing cutting edge
Not all our optimizations are about removing deadweight. Some are also about implementing modern mechanisms, technology and components. One thing left to mention in this regard is zlib. What is zlib you ask? Zlib is the de facto standard compression library built into many applications and devices. What it does is compress the files being sent over the internet before it’s sent. Like making a zip before sending a large file through email.
Among the applications and devices that use Zlib you find Apple iPhone, Linux, Apache HTTP server, OpenSSH, and Git. If you have a website, it’s most likely being compressed with Zlib before sending it through the internet. And in many cases, also decompressed with Zlib on the client side as well. Compression takes time, and Zlib is also code that needs to run. By speeding up the compression you speed up each and every page and asset being delivered.
At Servebolt, we use, maintain, and contribute to the development of the next generation of Zlib, called Zlib-ng. Zlib-ng has implemented modern optimizations into Zlib, which results in both faster and better compression. At Servebolt we actually sponsor the maintenance of Zlib-ng, and Zlib-ng is “founded” by our own co-founder Hans Kristian Rosbach (aka Dead2). But it’s not just Servebolt that contributes to Zlib-ng. zlib-ng has also received contributions from Amazon, IBM, Intel, and Samsung.
We don’t list our hardware specs, and there is a good reason for that. Even if you ask, we won’t tell you. And trust me, we get questions about our hardware specs every day. I think it’s because people believe that the hardware is our “black magic”, and because metrics like CPU Clock Speed are easy to compare. The problem is that comparing CPU speed in most cases doesn’t make sense. If you can get a 3 GHz CPU from one company and 3.9GHz from another, for the same price, you go for the one with the faster CPU Clock Speed, right?
And here’s why that doesn’t make sense: CPU Clock Speed only tells you something about the server’s speed limit, and nothing about the weight of the software (code) that runs. CPU Clock Speed says nothing about how much unnecessary, unoptimized, and slow code that is going to be run every time someone visits your website, regardless of how lightweight or heavy your website is. The way you should determine if our servers are faster than another is to test the raw, uncached, loading time of your website.
So when we decided to not communicate hardware specifications it had the goal of helping you focus on the right things. Not hardware specs, but the actual result in website loading time.
Our magic isn’t hardware. Our magic isn’t even software. Our magic is the way we work with performance, optimization and continuously making our Cloud better. Our magic is the geniuses that make up the Servebolt Team, and their devotion to making the Internet faster. Everyone on the team, from Oskar on Support, André keeping our Cloud healthy, and Enno developing our API and Control Panel, to Hans Kristian working with Cloud Architecture, they all share the same goal: making the Internet faster and more sustainable. Our way of working with performance and our thinking “in performance” is why you, as a Servebolt client, get a product that is continuously being improved with performance and security in mind.
Nothing of this is important
How we achieve our performance is not important. Everything that matters at the end of the day is how fast your site is. So now I strongly suggest that you put us to the test. Testing Servebolt is free for 60 days. During the 60 days you can put us to the test.
We have launched in the UK! 🇬🇧
Servebolt Cloud UK is now available to all clients. Our London data center will ensure that all clients with their majority of visitors in the UK experience extremely fast websites!