Archive for the ‘Other’ Category

100% uptime

Monday, September 8th, 2008

Its a pretty common question in hosting, whether it be shared, reseller, VPS or dedicated hosting and that is, is 100% uptime possible? Why do all hosts offer 99.8% or 99.99% uptime and not 100%? In this blog I will discuss this, and give some suggestions on how it is possible.

Is 100% uptime Possible?

Well the simple answer is no and that is what most people will say. I mean at the end of the day how can you offer 100% uptime if your upstream providers (datacenters, network providers, hardware etc etc) can not offer a 100% uptime gaurentee. Then of course there is the fact that servers should be rebooted every now and then when there are important updates…. So the question should be is 100% uptime possible when you dont include scheduled downtime?

Well lets take a look at the numbers

Uptime %        Downtime per Month       D’time per year
100             0                                 0
99.99          4.32 mins                  52.56 mins
99.9           43.2 mins                      525.6 mins
99.8           86.4 mins                      1051.2 mins

Ok so at a first look 43.2 mins downtime (the average that datacenters offer) is a lot, but when you look at it in a yearly perspective it seems much better. But anyway thats diverting from the main topic, I meant to show these numbers just to give an idea of what you are dealing with in terms of guarentees.

What can you do to maximise uptime?

There are quite a few things that you can do to stop downtime, and to make sure that you offer the best uptime possible. I am going to split this into two, there are some very easy things you can do that are mainly common sense and wont cost you anything (but time), and then there is the more costly and that will squeeze that last few percent away so you can truley achieve 100% uptime.

So lets start with the easier and cheaper method:

  • Monitoring - This is the easiest and probably the way you can maximise your downtime the easiest. Monitor your servers so that if they go down you can get to it quickly and fix it. This can save hours of downtime.
  • Checking Logs - It may sound very time consuming but once you get an eye for it you can scan the needed logs (messaages, httpd error etc ) quickly and look out for certain lines which warn you about certain things.
    A simple command like cat /var/log/messages | grep fail
  • Constant Security - Securing your server properly can help keep your server up. I shouldnt need to state why. This security includes Updates to software on the server and site software (eg blog software).
  • Optimization - Make sure your server is running as well as possible. Doing this will make sure that any small spikes in traffic will not harm you
  • Monitoring Load - Make sure you log in during peak time to check the load, memory and general performance of the server. Do not overfill the server and take heed when you may need to upgrade

Okay so that was the cheap and easy option. Its pretty simple really and it is generally a good idea to do all the above just to keep your server running well.

So now onto the more expensive solutions for the people who require that extra 0.0001%. I would not reccomend this unless every minute of downtime costs you, as these options are by no means cheap and are not easy to do.

I want to keep away from a bullet pointed list on this, as there is no “set” list of things you do to keep the server up 100% of the time. It can be small things to installing a more effecient web server just as lighttpd to creating a dedicated database server. This really should be customized on a site-to-site basis, you need to analise where the server weaknesses are and fix them. That is the basic way of doing it.

However if you want 100% uptime gaurenteed, well thats the interesting bit isn’t it. You then need to discount for all different types of downtime including network downtime. Well for this sort of solution you are looking at Geoloadbalancing, that is servers that are based in multiple locations around the world. To make this option viable you are looking at having to spend a lot of money, and having to custom code syncing solutions so that the website and databases are as up to date as possible. As for the geoloadbalancing there are multiple ways of doing it and the best is getting a “portable” IP which allows you to “move” it between locations. Thats pretty complicated and they are hard to get so the other way is roundrobin DNS. I will let you google that, and maybe I will explain it later in a blog… but right now I think I have blogged to much and your probably falling asleep. So yeah, if you have any questions go ahead and ask :D

Server Hardware & What to choose

Monday, August 11th, 2008

Well here I was thinking about the topic I should blog about. I was so desperate for a topic I even asked a few clients and thankfully Moris gave me an idea. He wanted me to write an article for AMD vs Intel, however in my opinion that is hardware related and is something more related to a hardware website. Not to mention the fact that I don’t actually think I would be able to write that much on that topic…. Well anyway it got me thinking about hardware and that is how I got to this topic.

We get a lot of requests each week asking for advice on server hardware and what the server hardware should be. So that is the topic of this article and I hope that you find it useful.

Main Considerations

When thinking about a new server the main thing that you should be thinking about is the type of site you run and what resources it uses the most of. That is whether it’s database intensive, has a lot of visitors, or its a shared host.

CPU

In this part of this blog I could go into the differences between AMD and Intel; however, I will try to keep away from that argument,  I will give you what I personally think and what many people in the industry think. That is that Intel currently have the edge over AMD on higher end processors and because of this in most cases I recommend that you go for an Intel processor.  Now the question is what clock speed and how many cores should it have? Well that deeply depends on the type of task you want it to complete.  For a VPS you will want more cores and processors as you will be sharing these out, and for a shared hosting site you will want a reasonable amount. You should concentrate on clock speed if you are planning to have a large number of processes which is common on application servers or on some database servers.

It is obviously hard to give you an exact guide on which CPU you need however hopefully I can give you a few things to think about. If you have any questions or want some help with exact specifications please feel free to drop sales an email for a free consult.

As a quick summary below are the rough specifications that you will need for certain types of servers:
Shared/Reseller Hosting:  Single/Dual Woodcrest 2Ghz
VPS Hosting: Dual Clovertown/Harpertown
Database: Singe Clovertown

RAM

Ram is always an interesting issue as you need as much as you need and it depends on server configuration,  the type of sites/application running on the server and the configuration of the server.  So this is one thing that you will need to keep an eye on, however in this day and age 2GB RAM is the minimum I would advise for a server. You need to keep checking on your free memory and make sure you have at least  a couple of hundred MB of memory free.

I will again write a semi-summary of what I believe is needed:
Shared/Reseller Hosting: 4GB minimum
VPS Hosting: 8GB minimum
Database Hosting: 4GB minimum

Hard drive

Now this is the interesting part and there are so many possibilities. In most cases you will be fine with a normal 7500rpm hard drive, however if you are expecting to do a lot of reads then a faster hard drive may be better.

In general for database servers you will want a much faster hard drive, normally I would advise the SA-SCSI hard drives for database servers. This will offer much better performance and will speed up the server more than a faster CPU and RAM will do.

Then you come on to RAID and all the different types. I just thought I would give a quick summary of the main types of RAID and what they do.

Raid 0 - This is a stripped disk array and will provide an I/O improvement . It requires at least 2 drives and the result would be the hard drives appear to be joined. We recommend this for gaming servers and high volume websites.

Raid 1 - This is a mirroring array and provides high performance, as its able to perform 2 separate reads or writes per mirrored pair. This is a full redundancy array and we would recommend it for any website that requires on the fly backup. However I would not suggest that you use this as your only backup.

Raid 5 - This requires a minimum of 3 drives. A Raid 5 array offers highest data transaction Read rate, medium data transaction Write rate and good cumulative transfer rate.I would recommend this for high volume MySQL based sites

Raid 10 - Raid 10 includes high Reliability and performance embedded in a single RAID controller. The minimum requirement to form a RAID level 10 controller is 4 data disks. This solution is good for all sites, as the increased reliability

Picking a server can be a daunting task for anyone and I hope this guide has made it easier for you. I wish I could give a personalized guide to you but I believe that I have given a rough guide that should cover most bases. Feel free to ask any questions that you come up with and hope you enjoyed the blog :D