Skip to main content
Real User Monitoring

Real User Monitoring (RUM) vs. Synthetic Monitoring: A Better Comparison

Adnan Rahić Adnan Rahić on

Three seconds is all it takes before your customer decides to leave. Would you imagine that! The audacity of some people! But, can you really blame them? We live in a fast-paced world. Wasting people’s time is worse than wasting their money.

Developers are striving to provide value in as short of time possible. Just as I am now writing this tutorial. I’m adamant in not wasting your time but providing you with concrete info for you to learn something new.

Why did I mention three seconds above? Building a website is just step one. Every subsequent step focuses on performance, user experience, optimization, responsiveness, reliability, and the list goes on. You need to measure everything! Especially the performance and speed of your website. After all, you don’t want to waste your customers’ time.

Here’s where real user monitoring and synthetic monitoring come in. They are two main technologies used to measure application performance. Before defining and comparing these two approaches and explaining the benefits and limitations of each, it is important to understand the business impact of poor digital performance.

Let’s see how each works and how they differ from each other.

Website performance monitoring can be split into two main tools: Synthetic Monitoring aka. STM and Real User Monitoring aka. RUM. The main difference between Synthetic Monitoring and Real User Monitoring is the way you use them.

Synthetic Monitoring (STM) is an active way of monitoring your website. You actively test the performance and response times with scripts that simulate the path an end-user takes through a website. To incorporate Synthetic Monitoring into your development workflow you can use tools like Google Lighthouse, WebPageTest, or Pingdom.

Compared to the active way of monitoring websites with STM, Real User Monitoring (RUM) is referred to as passive monitoring. It captures and analyzes each transaction by real users on a website. JavaScript code is injected on each page and reports on the page load data for every request that is made for each page. Simply put, the data gathered shows response times, based on real pages being loaded, from real browsers, in real locations. Sematext Experience is a great RUM example.

63107567 17a4bc00 bf7d 11e9 8677 a6cb7bdb693a

They will all generate metrics with benchmarks based on scripts that run against your website. Synthetic Monitoring is used to give you a baseline of how your website performs in a controlled environment. Every test is the same, meaning benchmarks improve as you improve the performance of your website.

What is Real User Monitoring?

Real User Monitoring, or RUM, is a type of passive monitoring that analyzes real user data and their experience while navigating a website. It gives you insight into how customers are interacting with your website. Real User Monitoring analyzes everything from page load events to HTTP requests to front-end application crashes. Read this user experience guide to learn more.

It’s also known as digital experience monitoring, real user measurement, user monitoring, end-user experience monitoring or RUM.

The power of Real User Monitoring lies behind tracking unique sessions, generating metrics for every session, which represents real users from real geographical locations using real browsers across a vast array of devices.

RUM geographic dashboard

Sematext Experience geography report

Real User Monitoring excels at telling you how satisfied your users are. It allows you to dive into performance metrics from all your customers, mapping out anomalies throughout their experience. This passive type of monitoring helps you find outliers where user experience is poor.

RUM dashboard

Sematext Experience user satisfaction overview

How is RUM Different Than Synthetic Monitoring?

Unlike Synthetic Monitoring where every test is the same, Real User Monitoring gives you input from actual customers and their satisfaction while using your website. This helps you understand what went wrong, where it went wrong, and fix it without impacting a large number of users.

Want to increase customer satisfaction by analyzing data from real user sessions?
Sematext Experience detects anomalies and sends you alerts in real-time. Enhance your front-end performance with Real User Monitoring solution.
Claim your 30-day free trial now! See our plans
Free for 30 days. No credit card required

How is Synthetic Monitoring Different?

While Real User Monitoring tracks the level of satisfaction of your customers in real-time, Synthetic Monitoring tests the performance of your website in a controlled environment. By running predefined scripts against your website to track service availability, benchmark performance, and response times. The data it returns is not a representation of real users, only a simulation, a synthetic representation.

The reason developers use Synthetic Monitoring is to make sure the changes they make to their website improve performance and response times. Having a controlled environment where every test is a constant, and the only variable is the actual website, gives developers insight into whether their changes improve the overall performance of the website.

Synthetic Monitoring runs tests periodically to make sure developers see website performance on an ongoing basis to find and fix critical issues before they reach customers.

Synthetic Monitoring vs. Stress Testing

Keep in mind, Synthetic Monitoring and Stress Testing are very different concepts, even though at first they look similar. They both simulate users interacting with your website. However, the number of simulations differ.

Synthetic Monitoring simulates a single user and generates metrics for you to improve concrete performance indicators like page-load time. Stress Testing simulates a huge number of users hitting your website simultaneously. Tests like these are useful for making sure your infrastructure can handle the workload you have in production. But, please don’t run stress tests against your production environment. Use a staging or test environment for that.

Synthetic Monitoring has nothing to do with infrastructure stress testing. It’s entirely focused on individual performance. Optimizing the loading of resources, code performance, and proper CDN caching setups. You’re supposed to run tests like these against production environments, to make sure performance is up to your predefined standards.

Stay tuned, the Sematext team is in the process of building a Synthetic Monitoring product.

Why the Synthetic Monitoring vs. Real User Monitoring Comparison Doesn’t Work Well

Comparing these two is like comparing apples and battleships. It simply makes no sense whatsoever. Synthetic Monitoring and Real User Monitoring work together, in sync. Not against each other. Synthetic Monitoring gives you a constant, controlled, environment that never changes. The only variables are the changes you make to the website. You can’t capture the satisfaction levels of real users that actually visit your website. That’s where you use Real User Monitoring.

However, using the data from both of these methods gives you the ability to deep-dive into specific issues and resolve shortcomings, providing you with full visibility of the UX. With this knowledge, you can gauge how fast your site needs to be in order to ensure user satisfaction and gain a competitive edge. Using either Synthetic Monitoring or Real User Monitoring on their own is perfectly valid, but using them together can help you ensure both user satisfaction and lightning-quick performance.

Wrapping up this comparison between Synthetic Monitoring and Real User Monitoring is best depicted by comparing a robot to a human. The robot will always run the same test, like clockwork, and produce different benchmarks only based on what you change on your website. The human is impulsive and creative, ever-changing, taking different paths through your website generating different sets of data.

Both monitoring paradigms are crucial for you in your goal to reach peak performance and maximize user experience. How to start? Check out Experience from Sematext to start monitoring your end-users. You can sign up and get a 30-day free trial of our Experience pro tier.

Leave a Reply