With companies of all kinds increasingly reliant on the Internet for their success, application performance and website availability is growing in importance. But is it really a significant problem or just hype to sell these services? What's the real impact of poor site performance on bottom-line results?
"Sixteen thousand, three hundred seventy-seven dollars per minute. That's the revenue Amazon.com generates online. For Dell, it's $7,289. For Wal-Mart it's $2,025. This revenue, of course, flows only when these websites are up, which is the vast majority of the time," says Michael Sadler, Marketing Analyst at Gomez.com. "When they're down, this money goes out the window. What many fail to realize is that a lot more than this revenue hinges on website performance.
Poor site and application performance can be caused by any number of reasons but the results are always the same; frustrated consumers, brand damage and lower earnings per hour, per day, per quarter or per year. Fortunately, there are some methodologies and tools for tracing these problems to their root cause(s).
A significant amount of hardship and frustration for both the website owner and the website user can be linked to two common problems:
1. Site is down or unreachable.
2. Site is up but performing poorly.
When a site is down or unreachable the problem is obvious but the cause may not be so clear. Keep in mind that a typical connection between an Internet user and a hosted application or site is through a collection of connected devices between the two end points (e.g. between your computer and the site you are trying to reach). A break at any point along that path can cause a site to appear down or an application unreachable. So how do find the cause and the solution?
First let's look at some common reasons for these problems.
Problem #1: The server has been disconnected from the network or is experiencing errors.
If a site is down or unreachable, try to navigate to another site on the Internet. If navigation to other sites works, then the likelihood the problem having anything to do with your computer is significantly reduced.
Problem #2: Incorrect browser configuration causes sites to appear down or unreachable
Often, a browser is configured to use a proxy server, or one is required for access. This problem typically occurs with portable computers which might be moved between a site that requires a proxy server and one that does not. A proxy server is a machine that goes to the Internet on your behalf. Sometimes users configure their browser to point to a proxy server so that they can surf anonymously. Therefore, if your browser is configured to use a server that is unavailable or unreachable you will not be able to browse any websites. If you suspect that this is the case, try clicking: Tools / Internet Options / Connections / LAN Settings. Next, uncheck the option "Automatically detect settings" and check "Use a proxy server for your LAN." You will need to locate the corresponding settings if you use a Non-IE based browser.
Problem #3: Site is unreachable because DNS servers are not working correctly
This problem will manifest itself much in the same way as the two aforementioned issues. The DNS system is what allows you to look up your website by name (e.g. www.yourhostname.com). For every website, there is also an IP address. If you suspect that there is a DNS problem, try contacting the site by IP address - for example, https://10.16.100.227. If that works, then name resolution issues are most likely the problem.
Problem #4: Missing or incorrect IP information causes sites to disappear.
You've tried everything. Your cables are connected, the lights on your equipment look good, you've tried all of the tips thus far but you still can't reach the Web. This problem is most often encountered with machines that use Dynamic Host Configuration Protocol (DHCP), a system that allows a server to provide IP information to computers and devices automatically. The problem occurs when the DHCP server is not working correctly or the client already has an IP address. There are a couple of reasons a machine might already have an IP address. One common problem encountered with portable computers is that sometimes they are used between sites where a static IP address is required and sites where DHCP is used to assign IP information. Computers with a statically-assigned IP address can be thought of as a hard-coded IP address. DHCP will not override this configuration. If a computer cannot find a DHCP server after a few minutes and that computer is running Windows, it will assign itself an IP address of 169.254.x.x. This IP address is likely to be incompatible with your network setup and therefore the computer will not be able to communicate with anything on the network. The solution is to check to make sure you have the correct IP information.
To check your IP configuration do the following:
1. Start/run
2. Type "cmd" and click ENTER
3. Type "ipconfig/all
4. Locate the line that displays your IP address:
Case #1 - If it looks like this IP address: 0.0.0.0, your computer did not get an IP address from the DHCP server.
Case #2-If it looks like this IP address: 169.254.x.x, your computer did not find an IP address and has assigned you a generic IP address.
In the first case, you can try contacting the DHCP server again by issuing the command "ipconfig /renew.
In the second case, you can try issuing a command that first gets rid of the system assigned IP address of 169.254.x.x and then try to contact the DHCP server again for an IP address.
The commands are as follows:
"ipconfig /release
"ipconfig /renew
The first command should change your IP address from the 169.254.x.x to 0.0.0.0.
The second command will contact the DHCP server to obtain an IP address for your machine. You'll know that it worked if you run "ipconfig/all" and you see something other than 0.0.0.0 or 169.254.x.x as the IP address.
Final Tip:
Start your investigation by asking and answering the following questions.
a) When was the last time the site or hosted application worked?
b) Has anything change since then and if so, what?
You'd be surprised at how often asking and answering those questions lead almost magically to the solution of a connectivity problem. Now that we've addressed issues related to one end of the connection, let's swing our attention to the other end - monitoring the status and performance of your website or hosted application. As a website owner, making sure your site is online and performing well is, obviously, critical to your online success. One major challenge owners have is monitoring the availability and performance of their sites. Fortunately, there are many free and commercial tools available for accomplishing this task.
Recommended Tools & Resources:
Gomez.com: Gomez is a Web application performance management company that provides around-the-clock monitoring and testing of websites and Web applications from over 12,000 locations across the globe.
InternetSupervision.com: Monitors general Internet availability and supervises the performance of website and e-commerce transactions. Clients have multiple notification options including a live operator, SMS (cellular phone) and unlimited email.
Tool #1: Packet Internet Grouper (PING)
How to use it: "ping www.mysite.com or 10.10.10.220
What it does: Sends data to a remote computer and asks the remote computer to send it back.
What can it be used for:
1) Quickly determining if a remote machine is online.
2) Measuring latency (round-trip-time). For example, how long does it take data to leave your computer, reach the remote computer and then return? This is useful for determining if sites are having trouble loading due to network issues.
3) There are a variety of other uses which are available as command line options. Type "ping/?" for a list of available options.
Note: Some sites filter icmp messages as a security precaution, making this tool useless for troubleshooting.
Tool #2: Trace Route (tracert)
How to use it: "tracert www.mysite.com
What it does: Shows the path of devices between you and the remote computer.
What can it be used for:
1) Determining how many devices are between your computer and the remote computer (hops).
2) Determining the relative latency of each of those devices.
3) If a site is performing poorly or is unavailable, this can help locate where there are failures.
Note: Some sites filter traffic from these types of tools which could make the information inaccurate.
Tool #3: Name Server Lookup (nslookup)
How to use it: "nslookup www.mysite.com. Alternatively, you can use it interactively by issuing the command "nslookup" which puts you in a console. From here you can change the name servers and turn on debug output, which gives you more information on the queries and the responses from the DNS servers and much more.
What it does: Let's you query name servers for information and monitor the response.
What can it can be used for:
1) Determining if the correct IP addresses are being given to a particular DNS query.
2) Determining what names are being returned for a given IP address.