Synthetic Monitoring vs. Real User Monitoring for Application Performance Management: Pros and Cons

The Importance of User Experience

Synthetic monitoring vs real user monitoring - pros and cons of eachIt is no longer sufficient for IT operations teams to monitor resources like CPU, memory and disk utilization. The success of any IT initiative these days is measured based on user experience. Irrespective of the type of application in question – whether email, Citrix/VDI, SAP, web application – application availability and response time are key measures of user experience. Application outages not only affect users, they can also impact the business. Hence, IT operations teams must have ways to constantly measure the user experience and to be proactive – so they can detect and fix issues before users complain.

Synthetic monitoring and real user monitoring (RUM) are common ways of measuring and tracking user experience. This blog analyzes the pros and cons of each approach and discusses which approach would best suit your needs.

What is Synthetic Monitoring of User Experience?

Synthetic monitoring emulates scripted transactions to measure performance.According to Wikipedia, synthetic monitoring (also known as active monitoring or proactive monitoring) is a monitoring technique that is done by using an emulation or scripted recordings of transactions. Behavioral scripts (or paths) are created to simulate an action or path that a customer or end-user would take on a site, application or other software (or even hardware). Those paths are then continuously monitored at specified intervals for performance, such as: functionality, availability, and response time measures. When a path is simulated, synthetic monitoring tools can report availability and response time for each action/step, thereby making it possible for operations to determine which action/step is causing slowness. To capture the user experience from different locations, synthetic monitors can be deployed at each location and performance compared across locations.

What is Real User Experience Monitoring?

Real user monitoring (RUM) is a passive monitoring technology that analyzes all user interaction with a website or client interacting with a server or cloud-based application. Monitoring actual user interaction with a website or an application is important to operators to determine if users are being served quickly and without errors and, if not, which part of a business process is failing. Real user monitoring can be implemented in different ways:

Real user monitoring is a passive monitoring technology that analyzes all user interactions
  • Many applications capture and report user experience (for example, with Citrix access, ICA latency is captured for each user session)
  • User experience can also be monitored by deploying agents on user terminals
  • Network taps/probes can also be used to watch user interactions and report user experience
  • For web applications, a common way of tracking user experience is using JavaScript injection

What is JavaScript Injection?

A small JavaScript code snippet is introduced in application web pages being served to clients. When each client downloads the application content, it also downloads and executes the JavaScript code snippet. This snippet reports details about the client (IP address, location, browser version etc.), the page being accessed (URL, query string, etc.) and the performance seen by the client (page load time, JavaScript errors, etc).

The ideal approach for an organization depends on the degree of control that your organization has on the end points, the network, the application, etc. For instance, if you are the application owner, it may be difficult for you to tap into the network or have agents on all the end points. JavaScript injection may be the ideal approach for you.

Synthetic Monitoring vs. Real User Monitoring

Both synthetic and real user monitoring offer IT operations teams the insights they need into user experience. Which of these approaches should you use? The table below lists the pros and cons of synthetic monitoring and real user monitoring.

Synthetic Monitoring Real User Monitoring
Simulates user interactions with business applications. Observes real user interactions with business applications.
Monitors user experience from different geo locations. Depending on the type of simulation being performed, may require a dedicated desktop/VM per location to run the simulation from. Monitors user experience from different geo locations. Does not require any dedicated hardware/VMs for monitoring.
Monitors performance 24×7. Can detect issues that exist at any time, even when no users are actively using the application. Monitors user experience only when users are actively using the application.
User experience is measured consistently because the same targets are used for simulation. Since performance metrics can be measured for different users using different devices, getting a consistent measure of performance across time periods can be challenging.
Monitoring is limited to just the transactions or user accounts being used for simulations. This may not cover all the possible usage scenarios for the application. Since all user accesses are monitored, issues with any transaction or any user account are detected proactively.
Ideal for a SaaS environment where you don’t have access to the application being delivered. Depending on the methodology being used, may be more difficult to employ for SaaS applications, since you may not have access to install any agents.
Should be configured to mirror the path being used by users. In this case, can provide a true end-to-end picture. Ability to capture end-to-end performance depends on the methodology being followed for user experience monitoring. When multiple applications are used in conjunction, measuring the real user experience can be a challenge. For instance, when a user is accessing SAP through a virtual desktop, real user monitoring of the virtual desktop reveals access times to the desktop, while real user monitoring of SAP indicates the time taken to process the transaction within the SAP system. The user experience may be a combination of both of these metrics.

Conclusion

As you can see from the above table, both synthetic monitoring and real user monitoring have their pros and cons. Ideally, you would want to use both approaches in your environment.

  • Use synthetic monitoring for consistently benchmarking your environment, and for alerting during times when there may not be real traffic to your business applications.
  • Use real user monitoring to keep a tab on what your users are actually seeing.

eG Enterprise offers a variety of options for synthetic monitoring and real user monitoring. Here are a few useful pointers: