08/02/2012

Monitoring Website Performance Effectively

Most website monitoring services send an e-mail once they detect a server outage. Maximizing uptime is important, but it’s only part of the picture. It seems that the expectations of Internet users are increasing all the time, and today’s users will not wait very long for a page to load. If they don’t receive a response quickly they will move on to the competition, usually within just a few seconds.

A good website monitoring service will do much more than simply send an alert when a website is inaccessible. The best services will break down the response time of a web request into important categories that will allow the system administrator or web developer to optimize the server or application to provide the best possible overall response time.

Here are 5 important components of response time for an HTTP request:

1. DNS Lookup Time. The time it takes it find the authoritative name server for the domain and for that server to resolve the hostname provided and return the appropriate IP address. If this time is too long the DNS server must be optimized in order to provide a faster response.

2. Connect Time. This is the time required for the web server to respond to an incoming (TCP) socket connection and request and to respond by setting up the connection. If this is slow it usually indicates the operating system is trying to respond to more requests than it can handle.

3. SSL Handshake. For pages secured by SSL, this is the time required for both sides to negotiate the handshake process and set up the secure connection.

4. Time to First Byte (TTFB). This is the time it takes for the web server to respond with the first byte of content after the request is sent. Slow times here almost always mean the web application is inefficient. Possible reasons include inadequate server resources, slow database queries and other inefficiencies related to application development.

5. Time to Last Byte (TTLB). This is the time needed to return all of the content, after the request has been processed. If this is taking too long it usually indicates that the Internet connection is too slow or is overloaded. Increasing bandwidth or acquiring dedicated bandwidth should resolve this problem.

It is extremely difficult to diagnose slow HTTP response times without all of this information. Without the important response data, administrators are left to guess about where the problem lies. A lot of time and money can be wasted trying to improve different components of the web application in the hope that something will work. It’s possible to completely overhaul a web server and application only to find out the whole problem was really slow DNS responses; a problem which exists on a different server altogether.

Use a website monitoring service that does a lot more than provide simple outage alerts. The best services will break the response time into meaningful parts which will allow the administrator to diagnose and correct performance problems efficiently.