When you start researching and looking into web performance and monitoring, you are bound to come across several words and acronyms; EUM (End User Monitoring), Synthetic Monitoring, RUM (Real User Monitoring). In this blog, we provide an overview of what Synthetics, RUM, and EUM are, and their roles in the world of web performance.
What is EUM?
End-user experience monitoring (EUM) describes the various technologies used to monitor application performance levels as the end user experiences them. This can include web page load times, transaction response times, and availability, all from the end user's perspective.
The 2 main technologies used for EUM are Synthetic Monitoring, which automates interactions to constantly test how that application performs, and Real User Monitoring (RUM), which shows the experience for actual real users.
So what is Synthetic Monitoring?
Synthetic Monitoring, sometime simply called Synthetics, uses scripted tests to monitor the performance and availability of your website. A synthetic script can cover a single web page or a user journey. Typical examples might be a scheduled test against your home page or testing a critical multi-step user journey such as adding an item to your basket or filling in a form.
These tests are run within a controlled environment, where the settings and number of variables are known, typically via an emulated web browser. This allows you to baseline the performance data easily and see trends and anomalies over time. The testing approach, user path, the web browser, location, internet connection etc., all remain consistent. This consistency provides an accurate way of measuring the web page performance, and compare any changes to see if they’ve had a positive or negative impact on the web page performance.
So what are the benefits then?
- Repeatable tests allow you to baseline performance and easily see trends over time.
- Measures the availability of the website.
- Useful for testing in pre-prod before there is any real traffic to monitor.
In the real world, users will have many variables which can impact their own User Experience (UX) when visiting your website. Obvious examples are different computers, browser types and versions, various browser plugins and different internet connection properties. These variables mean that real user A may have a different performance experience to real user B.
You do need to be realistic though; it is not time or cost effective to write tests for every single part of your website – prioritise the pages you really care about, e.g. key conversion journeys. Besides, writing tests for every single part of your website will probably take too long, and don’t forget about the maintenance factor of these tests. Let RUM fill in the gaps for you…
OK, what is RUM?
Real User Monitoring or RUM for short, is also an end user experience monitoring technology that measures the performance of real-world users and like Synthetics, captures the same key performance metrics. Sometimes, this is referred to as a Passive measurement, in that the data is captured from real-world inputs into your website. Synthetics, on the other hand, are seen as Active, as these are controlled experiments.
So what are the benefits then?
- Measures performance about every page load by all users.
- See the real-world performance data for your end-users.
- Captures more context around the problem. E.g.
- What was the user’s journey before encountering the problem?
- Did it impact the user’s entire session, or just a specific web page?
- What was the user’s device, browser, connection speed
- Was location a factor?
RUM data will also provide you with insights into what web pages and core user journeys you should be writing Synthetic tests for. You can also then compare your Synthetic and RUM data against each other, which in turn will guide you in which areas of the website you need to improve the performance.
Do Synthetics and RUM complement each other, and if so, how?
Indeed they do, they’re a good match! Here are our top five benefits of having both Synthetics and RUM:
- Use Synthetics to measure and baseline your key website pages and journey performance within all your environments, from SIT, UAT (and everything in between) to production.
- Use Synthetics as a pro-active quality gateway, where specific performance thresholds need to be achieved before releasing any code up to your production environment – this will help you predict the UX and conversion rate impact of a change.
- Use RUM data to discover what web pages you should be writing Synthetic tests for, e.g. by their load, and by their importance (conversion rate).
- Combined, Synthetics and RUM can help you reduce costs to acquire customers.
Convinced, do you have any questions of your own?
Hopefully the above has helped explain what Synthetics and RUM are, and how they can compliment each other. If so, and you’re looking for suggestions, we can recommend using Rigor for Synthetics, and our own WebTuna for RUM.
If you’re not sure, or if you have any questions – be it on what other options exist, or how-to's – please do contact the team here at AP towers.