Shared hosting is the most affordable way to have a website on the internet. The upsides are the low price point and that you don’t need to know how to set up and maintain a server of your own. But there is a downside as well: You are sharing a server with potentially hundreds of other websites.
This can often work fine, as long as the websites you are sharing the server with don’t get too much traffic, and don’t use lots of resources. The problem is when one or more of those websites start using more than their fair share of the web server’s resources. This can cause a slow-down for all the websites on that server, including yours.
Common performance culprits
There are a lot of factors that can make the websites on a shared server slow down. Here are some examples:
- Scripts (for example PHP scripts). Badly coded and possibly buggy scripts can take up large parts of the server resources or in some cases even block all resources while they are executing. For example, it is very common that web developers use the web server as their test environment, and use trial and error to solve bugs.
- Database performance or connection problems. A script for a website can use up a lot of database connections (if not all) either because of a bug, bad coding or a lot of traffic. This will of course be a problem for other sites trying to use the same database server.
- High-traffic website on the same server. Either naturally or through the likes of Digg. It’s worth noting that a web server normally has a limited number of simultaneous connections it can handle. This limit is usually shared amongst all sites on the server.
- Oversold web server. Too many sites running on the same server will put a lot of strain on the resources, even if they are all “well behaved”.
- Backups of web servers or databases. Many hosting companies make backups during the night. This can often make databases and web servers non responsive or really slow during that time. Since many outside the US are using US hosting companies, that can mean that these slowdowns are extra inconvenient due to time zone differences, for example occurring early in the day or in the evening.
- Bandwidth problems during peak hours. Some hosting companies will wait as long as possible with buying more bandwidth when they are growing. This means that due to these growing pains, the websites and all other services of this hosting company (e.g. email) will respond and work slower due to bandwidth limitations during peak hours.
Monitor your website’s response time
It’s not enough to just check that the server and network is up (for example by pinging the server). This will only tell you that the server is physically up and the network connection is working. It will not tell you that your website is loading correctly. You need to monitor how quickly your actual website loads (and that it loads at all, of course).
Above: An actual real-life example of response time increase on a shared server over a month. During two days the load time for the HTML alone was an abnormally high 6 seconds instead of under 2 seconds as it had been before. The owner of the website talked to his web host who were able to fix the problem eventually.
By monitoring your website’s response time (for example with Pingdom), you will be able to see if your website starts being slow. As we explained above, all it takes is for your host to add one misbehaving (or very popular) website to the same server that you are on, and the performance for all websites on that server can be drastically changed for the worse. If you are unlucky, your website can become so slow that it can’t be loaded at all.
What can you do?
If you find that your website suddenly becomes slow for no apparent reason, contact your hosting provider and explain the problem. Ask if they can either move your website to another server with less load, or find and move whatever website or other reason that is causing the performance problem.
This is of course provided the increased response times (and load times) are not caused by changes you yourself have made to your website. At this time, it is a good idea to test the performance of all elements of your website, something you can do with a website load-time test.
If it is your own site that has become more resource intensive, it may be time to start looking for a VPS or dedicated server.
Shared hosting is an affordable starting point when you want to publish a website on the internet, and in many cases you will never need to take the step up to dedicated hosting. Just make sure you keep on top of the performance of your website. This is of course the case for any website, but for shared hosting there are more external factors affecting your performance.
(Note: This kind of monitoring is also something that a hosting company itself can do. If you are a hosting company, put a test website on each of your web servers and monitor their performance. That way you will be able to detect problems quickly and avoid unhappy customers.)