How to troubleshoot web-based application performance issues

Troubleshooting application performance is one of the most common tasks that network administrators and sys admins do on a daily basis. Many of today’s applications are web based which can complicate troubleshooting as the application itself may be on a network that you don’t control and that is distant to your users. Likewise, most web based applications can be accessed from anywhere. This means that users at remote sites and telecommuters may report performance issues that you’re responsible for solving.

When troubleshooting this type of application performance problem there are three main things to understand before you start troubleshooting.

First, you need to understand which part of the application is running slowly. Even a simple web based application can have many parts. For this example, we’ll use a basic shopping cart based ecommerce site. Typically, an application like this would involve steps like these:

  • Loading of the initial web page
  • Searching or browsing to the desired item
  • Selection of the desired item
  • Adding it to the cart
  • Reviewing the cart
  • Submitting the order
  • Processing payment
  • Display of order confirmation

Second, you need to understand where the issue is occurring. Is it universal or does it only affect users at your corporate office? How are remote site users impacted? How about telecommuters? What about users in foreign countries?

Third, you need to understand when the issue is occurring. Does it happen every time that you process a transaction or only during certain times of the day or specific days of the week? Does it seem random or is there a pattern to the performance problem?

Gathering this type of information manually is very difficult and likely to produce inaccurate results. However, there are application monitoring applications available that have been built specifically for this purpose. The new Synthetic End User Monitor from SolarWinds, launching tonight, is one such application. Synthetic End User Monitor can be used to monitor performance of the application as a whole and allows you to record a series of steps (like the ones listed above) to be used to test the application in detail. Then, the tests can be ran periodically to help you understand how application performance varies over time. Additionally, Synthetic End User Monitor allows you to install players at remote sites so that you can monitor application performance from those locations as well.

Once you understand which part of the application is slow, for which users the issue is occurring, and during what time of day finding the root cause of the application performance is fairly straight forward. At that point, the issue can usually be handed off to either a network engineer, system administrator, or application developer depending on the root cause that you determined.

Resources

Flame on…
Josh

pastedImage_0.png

Thwack - Symbolize TM, R, and C