External web performance monitoring tools utilize agents to simulate user activity on a given URL. These tools are also known as Active Monitoring Tools (as they actively simulate transactions) or Synthetic Monitoring Tools. Synthetic Monitoring Solutions rely on browser emulators or actual automated browsers to execute HTTP activity, in others words, to request URLs or load webpages. In both cases the synthetic agent sees the transaction from the perspective of the client (requester) and often does not have the perspective of the server/application. On the other side Real User Monitoring devices, also known as Passive Monitoring Tools, get the perspective from your datacenter by gathering TCP packets at the switch/router inside the web-site datacenter. They monitor any activity to your servers and applications, and can gather Real User Performance data in regards to your application or content.
There are several key differences between the two:
- Synthetic Monitoring traditionally occurs from outside the datacenter, and is affected by the network differently than Passive Monitoring. (Keep in mind that packets from the client to the server can take a different path from the packets coming from the server to the client).
- Passive Monitoring looks at the traffic generated by real users of the websites and robots. Synthetic Monitoring looks only at the activity they generate based on your instructions. The network of a real user is different from that of the synthetic monitors (who are usually on datacenters) hence the results can be quite different.
- The biggest limitation of Passive Monitoring is that the data collected is limited to the traffic on the network the router is attached to, and it does not collect data for other requests like CDNs, Advertising, etc. Synthetic monitors on the other side request and monitor everything on the page.