Your web application performance is not what it should be. You are getting complaints or tickets from the helpdesk regarding a lengthy web application times.
- What should you do?
- What patterns should you look for?
Troubleshooting web application performance requires the right data!
Your web application performance analytics may come from various sources (i.e., logs, client instrumentation, network traffic). In fact, you have many options. From whichever source you get the data, make sure they can provide the following data:
- Page response times
- Hit response times
- Error indicators
And that the data is easily accessible, stored for historical analysis … And of course, that your solution is scalable enough to deal with all the related traffic. If you are looking for an even more concrete step-by-step guide on how to do that by analyzing network traffic, you should read this troubleshooting guide.
The most common sources of web application performance issues
Let’s take a look at the patterns you need to identify to troubleshoot web application performance and pinpoint where the performance leaks are coming from.
Slow page load times
Even if individual hits are delivered fast, pages may be slow due to their complexity or structure and specifically due to:
- The number of hits generated by the page
- Scripts which are too heavy or slow
- Scripts provided by external services (e.g., tracking services etc.)
Some page hits may be slow to display on the end user’s browser; this may be due to different causes:
- Slow server processing: your web server is taking too long to process the response.
- Slow transfer: the response takes too long to be transferred from the server to the client through the network. In this case, you should investigate:
- The response size (is that 2MB image truly necessary?)
- Is the network offering a performance which is good enough? (e.g., network latency, retransmission/packet loss rates)
- Are the client and the server slowing down the transfer? (you learn more about this by reading this article on the impact of TCP events on application performance)
Your server may not properly handle certain types queries and report 5xx errors as a result, leading to poor web application performance. In this case, you should identify the requests for which you can observe HTTP errors and discuss a solution with your development team or application vendor.
- Client errors (4xx errors): the clients may be directed to an invalid URL
- Redirections (3xx errors): some element in the chain may redirect to other resources and generate delay and errors
Network traffic is the proper source for creating performance analytics on all user activities and for all the applications hosted in your data center in a 100% non-intrusive way.