Real User Monitoring (RUM): Overview
Real user monitoring, also known as real user measurement, real user metrics, and end-user experience monitoring, tracks performance data from real users accessing your website or application. The performance data gathered from RUM is diverse because it tracks the complex ways in which users really navigate your apps. The end user could be using a combination of any browser, any ISP or any device in any location.
RUM is a form of passive monitoring, which relies on services that observe the system in the background, tracking availability, reachability, responsiveness, and functionality. RUM data helps a business better understand its users by giving full visibility into application performance, helping identify which areas of its site need optimization and focused attention. It can also provide a historic perspective, allowing you to determine performance trends over time.
Synthetic Monitoring: Overview
An alternative approach to website monitoring is synthetic monitoring. This is an active monitoring method that instead of collecting real user data, gathers performance data using agents that simulate real users. Synthetic testing is pre-configured for simulation, meaning that the traffic is manually generated to monitor the performance of a website or application with a controlled set of variables, such as geography, network, device or browser. It can be especially useful for exercising areas of the application that experience less traffic, or identifying problems arising from less commonly used geographies, networks, and browser types. You can use synthetic tests to replicate multiple user journeys, meaning that potential performance issues can be identified before they impact the end user.
Synthetic may also be used to test websites and web applications in pre-production, so you can baseline performance and set appropriate alert thresholds once an application or website is live. As synthetic monitoring does not require embedding code snippets in the application or website, users can analyze the performance of competitors by setting up monitoring of their websites and applications. This means you can benchmark your performance against major players in the industry.
Real User Monitoring vs. Synthetic Monitoring
RUM and synthetic are a very different type of monitoring in the way they are implemented and how each one works, but both help keep track of website and application performance in important ways. Both provide valuable insight into user behavior, network latency or bottlenecks, performance trends, and the overall health of the web application.
"Both RUM and synthetic monitoring tools aim to improve application performance by providing insight into every step within the application delivery chain. Only choosing one monitoring type will not result in an ideal strategy. Synthetic and RUM complement each other. A comprehensive monitoring solution should include both monitoring types to get a 360-degree view of your website or application and help you ensure it is not only fast, reachable, and reliable, but also customized for the real needs of your end user."
When evaluating the two monitoring types, you should first look at the value each adds to your monitoring strategy.
The Benefits of Synthetic Monitoring
Synthetic monitoring allows you to:
- Simulate the user journey in a controlled environment
- Run tests at scheduled intervals (e.g., every 5 minutes) to proactively capture potential issues
- Build tests based on key business transactions (e.g., logging into an application service)
- Monitor complex transactions and processes (e.g., checking out a shopping cart)
- Test at every stage in the production lifecycle (e.g., User Acceptance Testing, Beta, GA)
- Exercise areas of the applications that receive a low amount of live traffic
- Test reachability from less common geographies (e.g., South America) and networks (e.g., a wireless provider in Brazil)
- Analyze performance trends from the vantage point of various geographies
Synthetic monitoring helps you:
- Run 24/7 monitoring
- Reduce MTTR (Mean Time to Resolve) as the tests actively track application performance
- Receive alerts whenever there is a notable variation in performance metrics, including downtime
- Gather performance data in a pre-production environment in the absence of real user traffic (RUM is meant for use in a production environment)
- Benchmark your service against competitors
- Track service level agreement (SLA) breaches (e.g., ensure that your application loads in less than 5 seconds from any location in the world 99.999% of the time)
- Monitor performance of third-party services, including using A/B testing