Web application performance is fundamentally associated in the mind of the end user; with a brands reliability, stability, and credibility. Slow or unstable performance is simply not an option when your users are only a click away from taking their business elsewhere. Understanding your users, the locations they are coming from, and the devices/browsers they are using is crucial to ensuring customer loyalty and growth.
Today’s modern web applications are architected to be highly interactive, often executing complex client side logic in order to provide a rich and engaging experience to the user. This added complexity means it is no longer good enough to simply measure the effects users have on the back-end. It is also necessary to measure and optimize the client-side performance to ensure the best possible experience for your users.
Let’s take a look at a few of the key features available in AppDynamics 3.7 which simplify troubleshooting these problems.
End User Experience dashboard:
The first view we will look at reports EUM data by geographic location showing which regions have the highest loads, the longest response times, the most errors, etc.
The dashboard is split into three main panels:
- A main panel in the upper left that displays geographic distribution on a map or a grid
- A panel on the right displaying summary information: total end user response time, page render time, network time and server time
- Trend graphs in the lower part of the dashboard that dynamically display data based on the level of information displayed in the other two panels
The geographic region for which the data is displayed throughout the dashboard is based on the region currently showed on the map or in the summary panel. For example, if you zoom down from global view to France in the map, the summary panel and the graphs display data only for France.
This view is key to understanding the geographical impact of any network & CDN latency performance issues. You can also see which are the busiest geographies, driving the highest throughput of your application.
Browsers and Devices:
From the Browsers and Devices tabs you can see the distribution of devices, browsers and browser versions providing an understanding of which are the most popular access mechanisms for the users of your application and geographic-split by region. From here we can isolate if a particular browser or device is delivering a reduced experience to the end user and help plan the best areas for optimisation.
Troubleshooting End User Experience:
Response time metric breakdown
First Byte Time is the interval between the time that a user initiates a request and the time that the browser receives the first response byte.
Server Connection Time is the interval between the time that a user initiates a request and the start of fetching the response document from the server. This includes time spent on redirects, domain lookups, TCP connects and SSL handshakes.
Response Available Time is the interval between the beginning of the processing of the request on the browser to the time that the browser receives the response. This includes time in the network from the user’s browser to the server.
Front End Time is the interval between the arrival of the first byte of text response and the completion of the response page rendering by the browser.
Document Ready Time is the time to make the complete HTML document (DOM) available.
Document Download Time is the time for the browser to download the complete HTML document content.
Document Processing Time is the time for the browser to build the Document Object Model (DOM)
Page Render Time is the time for the browser to complete the download of remaining resources, including images, and finish rendering the page.
AppDynamics EUM reports on three different kinds of pages:
- A base page represents what an end user sees in a single browser window.
- An iframe is a page embedded in another page.
- An Ajax request is a request for data sent from a page asynchronously.
Notifications can be configured to trigger on any of these.
If the above isn’t enough and you want to look into the execution within the datacentre, you can drill in-context from any of the detailed browser snapshots directly into the corresponding call stack trace in the application servers behind. This provides end-to-end visibility of a user’s interaction with your web application, from the browser all the way through the datacentre and deep into the database.
Deployment and scalability:
If you don’t currently know exactly what experience your users are getting when they access your applications or your users are complaining and you don’t know why then why not checkout AppDynamics End User Monitoring for free at appdynamics.com