Definition

Synthetic monitoring is a web performance test that uses robotic agents to simulate a real user’s interaction with a website or web application.

Simple illustration of how synthetic monitoring works

Overview

The overall performance of a website or web application is largely determined by the slowest process along the path. The slow process can be in infrastructure, applications, third party services, or any other component. Due to the diversity of technologies, devices, networks, and audiences, delivering a high performance user experience is a challenge.

Synthetic monitoring is used to provide network visibility that helps identify and detect signs of performance issues. The monitoring uses mobile and desktop browsers such as Internet Eplorer, Chrome, and Firefox to simulate a real user’s journey. The user agents follow the paths a real user is expected to follow when navigating a website or web application.

How Synthetic Monitoring Works

Synthetic monitoring involves simulating multi-step user actions using different browsers and locations. The tests are executed and monitored from a Shell/console or a GUI. There are open source tools such as Pylot used for testing performance, as well as the scalability of a web service.

A typical synthetic monitoring tool has the following: HTTP and HTTPS support, automatic cookie handling, cross platform support, load generation, response verification, an execution and monitoring console, real-time stats, GUI or console modes, and custom timers.

Synthetic monitoring tools carry out tests like this:

  1. Test is defined (simple ping, website login, execution of a specific transaction, etc)
  2. Test is sent to agent that uses a specified browser, geographical location, and any other parameters
  3. Agent makes requests to the application or website the same way a real user would
  4. As the website responds, the agent measures and captures web performance data such as page load times and response times
  5. Test data is analyzed and displayed through waterfall charts

Synthetic Monitoring Use Case

This type of web performance testing is used by companies expecting high traffic due to an upcoming sale or holiday season. With synthetic monitoring, the company can simulate real users with bots to determine how much traffic the current setup of the website or application can handle. In this scenario, testing is used for generating a concurrent load of HTTP requests, verifying server responses, and producing reports.

Benefits of Synthetic Monitoring

  • Provides consistent and detailed reports for diagnosing and repairing problems at the application and network level
  • Measures and compares how the web service performs under various conditions without impacting real users
  • Determines the impact of third party services on web performance

Conclusion

To keep users satisfied and engaged, organizations need to employ web performance monitoring techniques to ensure web pages and applications work as expected. Synthetic monitoring can be used to provide consistent, reliable, and regular insights of page load time, availability, and more – even when there aren’t any real users using the web service.

The opposite of synthetic monitoring is real user monitoring.