In the article 10 Reasons Why Your Small Business Website Stinks, we went into detail on the various ways in which small business entrepreneurs can shoot their businesses in the proverbial foot by means of a poorly built website. Take heart, because in this article, we look at six ways you can fix those problems and help put your small business website to work driving revenue.
Slow page loads are deadly. Nobody wants to wait around for your website to load, and can you blame them? With 3G, 4G and über-fast broadband, there's more computing power in a smartphone than in the super-computers of yesteryear. And yet we are plagued with boggy, script-heavy websites that bring quad-core PCs to their knees.
I'm all for the freedom to build a crappy website, but if you want your small business website to be attractive and to bring in customers, then you need to make it peppy.
There are a multitude of potential bottlenecks and performance-killers such as:
- Overloaded server hardware
- Overloaded network
- Mis-configured Web server
- Slow third-party servers
- Bad webpage coding
- Mis-configured DNS
Fortunately, there are also a multitude of good, free tools for analyzing site performance and identifying bottlenecks. Let's take a look at each one of these. Hopefully you are running a good Linux or Unix operating system, and using a high-quality server like Apache, Lighttpd, or Nginx.
Figure 1: The open-source Nagios system and network monitor serves up nice, colorful graphs so you can see at a glance what's happening on your hardware, software, and networking systems.
If you're running a Windows Web server the same principles apply: build your performance analysis toolkit and use it. Start with ab, the Apache Benchmark program. You can use this to benchmark any Webserver: Apache, IIS, Nginx, or whatever the heck you want.
A brief digression: Netcraft.com is an interesting site for seeing what the most reliable hosting companies are and what operating systems they're running. It also tracks the most-used Web servers, with Apache dominating, and a lot of other fun data, which shows how much information on what we do on the Internet can be gleaned from publicly-available networking data.
There are a number of excellent, free open source monitoring suites that show your network, hardware and server status at a glance with colored status pages, and send you alarms when trouble arises. My two favorites are Nagios and Zenoss. Both run on Linux, and both monitor your entire network regardless of what operating systems you're running.
Nagios is my system-and-network-monitor of choice. Nagios is SNMP-aware (simple network management protocol), extremely flexible, and it shows you just what you want to see (figure 1). Nagios has both community and paid support options.
Figure 2: DNSsy.com performs comprehensive tests on your site for free.
Zenoss offers more extensive support options and nice management features such as network resources auto-discovery and additional monitoring capabilities for Windows hosts.
What if you don't want to set up a whole monitoring system, but just want some nice software utilities to see what's going on? Again, Linux is the champion. Here is a selection of the most popular and useful utilities:
- Hddtemp: monitors hard drive temperatures so you know if they're overheating
- Lm_sensors: monitors CPU and motherboard temperatures, and fan voltages and speeds
- Top, ps, iostat and strace: all excellent utilities for finding out which processes are using the most CPU and memory
- Netstat, tcpdump, and mtr: show you exactly what is happening on your network. Run these from a Linux machine to diagnose all network activity, regardless of what operating systems are on your network
- Perfmon: a little-known but very useful built-in Windows program for monitoring and diagnosing Windows performance.
And as I mentioned last month, Pingdom and DNSsy are great free sites for performing a large number of tests on your small business website, including testing your name servers, which are a common source of network problems.