I’ve started blogging for Opnet at apmmatters.com, and the first posts are describing what happens to applications when faced with any of several types of network problems. I’ve previously written about packet loss and how it impacts TCP performance. Most applications are built to use TCP for communications, so packet loss directly affects them. However, there are other factors too, which I begin covering with an article “The Impact of Network Problems on Application Performance.” This is the first in a series of articles that discuss Application Performance Management (APM).
APM is really neat technology that, when properly installed and configured, looks at all the communications between systems that are used to implement an application. Many applications these days are multi-tiered – that is they rely on multiple servers. A pair of load balancers running in High Availability (HA) mode may front-end multiple application servers. The application servers in turn connect to middleware servers, which rely on one or more back-end database servers. In addition, you’ll often find DNS and DHCP in the mix.
When a customer calls, complaining about a slow application, it is often easy for the application support staff to place the blame on the network. After all, the servers are frequently running at acceptable utilization levels and they can’t find anything wrong with their operation. So the network team gets to play the game of Mean Time to Convince.
APM helps both the network and application team determine whether the slow application is due to the network or whether it is due to interactions between the different application tiers. It may also identify a bad database query that causes the DB server to take a long time to return results to the middleware server.
APM products aren’t cheap, so it may take a bit of convincing to get the CIO to buy into it. It is best to have a nagging problem that has gone unsolved for a long time and arrange an evaluation around finding a solution to it. You should expect to take a while to properly design and setup a good evaluation. For a three tiered application that’s not too complex, might take a week or two of staff time (that’s the total effort, not calendar time). Get buy-in from the CIO to set acceptance criteria prior to the evaluation if you want to obtain the product if the evaluation is successful.
My customers who use it have found that it significantly reduces the amount of effort that is required to pinpoint the source of an application performance problem.