Web Hosting for Non-Technical People: What Are I/O, RAM and CPU?
ServInt has an excellent reputation for providing quality technical assistance for its customers. If something goes wrong with your web site, our techs will do everything they can to fix your problem and quickly get your online business running again. That’s great. Sort of.
The reason it’s only “sort of” great is because having a highly capable support backstop for your web site can easily lull you into thinking that you don’t really have to know anything about your server and how it works. The truth is, knowing just a little about how your server functions can make it much easier to talk to your tech support team — which can result in faster solutions to your problems when they arise.
Here’s the problem, though: for ordinary mortals, learning about how hosting works can seem tedious at best, and downright confusing at worst. Like many of you, I’m not a sysadmin, and I have to admit my path to semi-competency at managing my personal web site has been a bumpy one, full of (ahem) “learning moments.”
The last time I discovered a problem I could have prevented with a bit of foreknowledge, I resolved to do what I could for my fellow semi-hosting-literate, non-system-administrator online business owners out there, to make sure all their avoidable hosting risks were sucessfully mitigated. I hope to do this through a series of blog posts for non-technical readers, to share all the easy concepts I’ve learned over the years. Don’t be afraid — you’ll discover this stuff isn’t hard at all!
So let’s start at the very beginning: what you’ll need to understand to pick the right kind of server for your business.
Obviously, the easiest way to make sure you get the hosting set-up you need is to engage with a competent, trustworthy sales team to help you choose your server. Our sales guys are great, and will make the selection process easy. But it really helps to understand a few basic principles before you enter into a sales conversation, so you can understand what you’re being sold and why.
Let’s begin by making the assumption that your site is designed well. If you have a site that is designed poorly (and here we’re referring to the design of the site’s “back end,” or the code that determines how information is gathered, stored, manipulated and displayed), you can end up spending a fortune on server resources to compensate for the bad design through brute force computing power. Confident your site is designed well? Okay then; let’s proceed.
When you start the managed hosting service purchase process, most service provider web sites will present you with a dizzying array of specifications and options from which you’re expected to choose. All of the parameters presented are important, but if the focus of your attention is site performance and reliability, you’ll probably need to worry about just three of these: I/O, RAM, and CPU.
These three resources act in concert to manage the process of presenting your web content in the fashion you expect, and — depending on what kind of web site you’re running — you may need more or less of any one of them.
For I/O, RAM, and CPU, the general rule of thumb is “more is better,” but only up to a certain point. Past that point, you’re wasting your money, which is why a discussion with a good sales engineer is critical. In order to have that conversation, you should know a little bit about what these things are and what they do. Here’s what you need to know:
- I/O is the speed at which data housed on your server’s storage drives is handed off to be executed or processed in some way.
- RAM is the resource that temporarily stores that data and its command instructions, and then passes it along for computation or other purposes. RAM is the “middle man” for these processes because much of the data processing required to run a web site is highly repetitive, and RAM stores this repetitive data in a way that makes it possible to deliver it at very high speeds.
- CPU is the resource that actually provides the computer power to process the data and execute the applications handed to it by RAM.
Here’s a handy metaphor: if your web site is like an industrial bakery, I/O is the speed with which the flour, milk, eggs and yeast is loaded off of the trucks and carried to the bakery floor. RAM is the nimble-fingered bakery crew that assembles the ingredients into loaves and loads them into or extracts them from the oven — and CPU is the industrial oven itself, beeping when it’s ready for a new sheet of unbaked loaves, and beeping again when finished loaves are ejected from the oven. All of these resources have to work in harmony, and they have an optimum size, below which they act as a production bottleneck, and above which they result in excess capacity.
With a web site, there are also optimum sizes for I/O, RAM, and CPU. The I/O speed determines how fast the data required to build and display your web site, along with assembly instructions, is handed off to RAM for temporary storage. The amount of RAM you have determines how many of these processes can be executed at one time — and the amount of CPU power determines how quickly your web site’s data gets crunched, delivered and displayed. (More on all this will be shared in a later post.)
Different kinds of sites will have different requirements of these three resources. There are literally an infinite number of possible combinations (again: check with your sales engineer!), but here are a few examples:
- Video or audio streaming sites will place a heavy burden on I/O, as users pull content off of storage devices on host servers
- Sites with “dynamic” database requirements (for example, e-commerce sites that keep track of past purchases or calculate frequent shopper discounts) will use a lot of I/O (to pull data from product inventory and past purchase databases) and CPU (to do the calculation work with the data)
- Sites built with Java are notorious RAM “hogs”
Again, these are just three examples of how web site design can have a specific impact on I/O, RAM and CPU resources. Every web site is different, and will pull more or less out of your server as it does the job it’s designed to do. The important thing is to make sure you are setting yourself up for optimal performance and uptime by purchasing a server/hosting service package that is correctly sized for your site’s overall design. Now that you have a basic understanding of the three most important specifications related to speed and performance, your discussions with ServInt’s sales engineers should be a lot more enlightening. So give them a call, or reach out via LiveChat — they’re ready to help you!