Is Your Website Slow


Website Slow – Look to Your Server

slow website cartoon imageWhen we find problems with our website speed, we look at our website system – Right? We (those of us on shared hosting anyway) have been conditioned by our service providers to think whenever our sites are running slow, it’s our code that’s the problem, not the server provided by the hosting company the site is running on.

Well, sometimes it is. But then again, often it’s not.

When is it the Server?

There are some circumstances when the server is nearly always the problem. Let’s look at some clues:

DNS Lookup:

How long should a DNS lookup take? A DNS lookup really should not take longer than 50 to 60 ms and definitely less than 100 ms – any longer and the server has a problem… If you see this in your browser activity bar “connecting, connecting, connecting” it is because the DNS lookup is taking forever –  a server problem, not your website.

Time to First Byte Served (TTFB)

Assuming the site is cached, time to first byte served should take less than 150ms, much less. 60 to 100 ms is more in the range we want. Longer than that is a sign of server problems…

Page Load Time:

Assuming the page loading is not overloaded with large images, doesn’t have thousands of words, and the stylesheets and Java files are compressed, page load over an average 1gbps internet connection should take less than 1 second – including DNS lookup and TTFB. Any longer and there is likely a server problem.

A good clue to server performance is found in Google Webmaster Tools Crawl Stats where you can find a graph of the time it took Google bot to crawl pages. Never mind the maximum time – there could be other reasons for this being high during the reporting period. Look at the minimum time and average time. If you see an average time exceeding 1500ms to 2000 ms, or  a minimum time in this range – there’s a problem. If it’s more than 3000ms – PANIC – you need to get on a faster server before your site starts haemorrhaging ranking.

Cached or Not Cached – No Difference

A CMS site should be much faster when cached – right? It definitely should. And if it’s not – well then there is something wrong. What you will probably see is the site takes forever to start loading, then it comes in fast. But that’s no good, not if it takes more than a few hundred milliseconds to start downloading the page requested. Server problem!

The Biggest Clue of All – Connecting, Connecting, Connecting

When you see this when editing your site, or viewing ‘not logged in’ in your browser connectivity status bar, it is either the server, or your internet connection. Then the blank browser page – Server not Found – the result of the server failing to respond! When other sites connect and load at the same time then your internet connection is not at fault – then it is ALWAYS the server! As mentioned before, this a DNS lookup problem.

No doubt, if you report this to your hosting company, they will tell you something like, your site was too busy at the time. It’s easy to check this. Your hosting admin panel probably has a Resource Usage report available. When you have difficulty connecting to your website – go to this report – it will tell you if you have exceeded available resources for CPU, Memory, and Entry Processes (simultaneous connections). If none of these have been at maximum when the problem happened – the server is simply not responding… Tell your hosting service they are FULL OF IT…

Your Website Traffic is too High!

Hosting companies love to tell their clients their sites are too busy when these problems are reported. So how many visitors do you get a day – 5000, 10 000, 50 000? Probably not. If you are using shared hosting the traffic is probably less than a few thousand visitors a day. How many pages are served? Once again the figure is probably less than a few thousand.

Unless all these visitors arrive at the same time, or in the space of a few minutes, tell your hosting service they are FULL OF IT and go to another host…

The Site Used to Be Fast, Now its Terrible

How many of you have started with a hosting service which gave great performance, then over time your site started slowing down, and the problems mentioned above started appearing? But you have not made any major  changes – maybe a few tens or even hundreds of pages in the last 6 months, maybe a few more plugins or modules.

The most likely cause of the problem in this case is not YOUR site – There are probably too many sites on the server. Shared hosting services love to get as many sites onto a single server as possible – that’s how they make money, and keep shared hosting costs low. But they overdo it!

I’ve seen a server hosting over 700 sites on a single machine – not a virtual machine consisting of many server boxes – a single dual XEON 2GHz with 16GB memory server. Well guess what – static HTML sites on that machine take more than 1100 ms to load to Google Bot and sometimes longer to serve to visitors! At least one of these should load in less than 300ms – pages with images and everything else are typically less than 80kB – more like 40 to 70 kB. No database to read, no plugins to take up server cycles, no JavaScripts, just basic HTML and a single short stylesheet… This site gets maybe 20 visits a day – and sometimes it takes 3 to 10 seconds and longer to start loading – connecting, connecting, connecting – server not found… Hmm, yes, the site is too busy is it.

Advertisements

About Mike

Web Developer and Techno-geek Saltwater fishing nut Blogger

Posted on September 28, 2012, in TECH NOTES, TECHNOLOGY and tagged , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: