Back to blog

Active Probing vs. Real User Monitoring: Which Is Better for CDN Performance Evaluation?

CdnChart EngineeringPublished on 2026-10-2811 min read
Active Probing vs. Real User Monitoring: Which Is Better for CDN Performance Evaluation?

When evaluating CDNs, you often encounter two conflicting sets of data: speed-test platforms show most nodes responding quickly, while real users keep reporting slow page loads; or real-user monitoring looks normal, while active probes repeatedly find access failures in a certain country or ISP.

This does not necessarily mean either side is measuring incorrectly. Active probing and real-user monitoring look at two different questions:

  • Active probing answers: can this URL be accessed reliably and quickly under predefined regions, networks, and test conditions?

  • Real-user monitoring answers: what experience do actual visitors get on real devices, browsers, and networks?

For initial CDN screening, pre-launch validation, cross-region comparison, or failure alerting, active probing is more suitable. To understand core users' real experience, identify affected groups, and measure business improvement, real-user monitoring is more valuable.

A complete CDN performance assessment is usually not an either-or choice: first use active probing to establish a comparable baseline, then use real-user monitoring to verify actual results.

What exactly is the difference between active probing and real-user monitoring?

Active probing, also called synthetic monitoring, probe testing, or Synthetic Monitoring, uses pre-deployed test nodes to send requests at fixed intervals, to fixed URLs, and according to fixed test rules. Even if the website has no real traffic yet, it can continuously produce results.

Real-user monitoring, usually abbreviated as RUM (Real User Monitoring), collects performance data generated during actual visits through monitoring scripts embedded in web pages, browser performance APIs, or client-side SDKs.

In Google's explanation ofthe differences between lab data and field datatests in controlled environments are called lab data, and data collected under real user, device, and network conditions is called field data. The former emphasizes consistency and reproducibility, while the latter reflects actual user experience.

Comparison dimension

Active probing

Real-user monitoring

Data source

Test nodes deployed in different regions

Users who actually visit the website

Test conditions

URLs, frequency, and nodes can remain consistent

Devices, networks, pages, and visit times constantly change

Requires real traffic

No

Requires sufficient user visits

Suitable for pre-launch testing

Suitable

Not suitable

Suitable for horizontal vendor comparison

Relatively suitable

Easily affected by differences in user composition

Can reflect real-device experience

Limited

Yes

Failure detection speed

Can check every minute or at fixed intervals

Depends on traffic and data reporting

Typical metrics

DNS, connection time, status code, download duration, total duration, availability

LCP, INP, CLS, TTFB, page load time, error rate

Main blind spots

Test nodes are not real users

Regions without traffic and users whose scripts fail to load may be missing

Which CDN assessment tasks are better suited to active probing?

The main value of active probing is not 'simulating every user exactly,' but putting different test targets under conditions that are as consistent as possible.

CDN selection and horizontal vendor comparison

When comparing two CDNs, control variables as much as possible. For example, use files of the same size, the same test times, and nodes in the same regions and ISPs, then observe:

  • HTTP status codes and request success rate

  • DNS resolution time

  • TCP connection time

  • Download duration and total duration

  • Response IP and changes in it

  • Latency percentiles such as P50 and P95

  • Failing nodes in different regions and carriers

  • Actual throughput for medium or large files

If one vendor is tested on China Telecom in Beijing and another on China Mobile in Guangzhou, the two average times are not directly comparable. A complete CDN performance comparison should also distinguish latency, availability, throughput, and regional coverage; it should not compare only the lowest duration from a single test.

Pre-launch validation and CDN migration

When a new CDN is not yet carrying real traffic, RUM does not have enough data. Active probing can check in advance:

  • Whether the domain resolves correctly

  • Whether HTTPS requests succeed

  • Whether expected nodes are returned in different regions

  • Whether abnormal 301 or 302 redirects occur

  • Whether 403, 502, 503, or timeouts occur

  • Whether performance across mainland China's three major carriers and overseas regions meets expectations

After migration, you can repeat the checks using the same set of URLs and test nodes to reduce interference from changes in test conditions.

Identify regional and carrier-specific failures

When users only say 'the website won't open,' it is hard to tell whether the problem comes from the local network, DNS, CDN, or origin. Multi-region active probing can quickly determine the scope: whether all regions fail, or only a certain country, carrier, or a few nodes are abnormal.

Google Cloud's documentation onsynthetic monitoringalso emphasizes that this type of monitoring sends simulated requests at regular intervals and records availability, latency, and request results, making it suitable for continuous checks of pages, APIs, and critical business processes.

In CdnChart'swebsite speed test toolyou can enter a domain or URL and observe HTTP status codes, response IPs, IP locations, resolution time, connection time, download duration, total duration, redirects, and failing nodes from nodes in different regions and carriers. These results are useful for identifying regional differences and can provide clear direction for further troubleshooting.

What questions is real-user monitoring better at answering?

Active probing can tell you that 'test nodes can access the site normally,' but you cannot infer from that that all real users are fast. Users may be on low-end phones, mobile networks, corporate proxies, home broadband, or cross-border connections; pages may also contain large amounts of JavaScript, images, ads, and third-party services.

These are exactly the factors RUM is good at observing.

Which users are actually affected?

RUM can break down data by country, region, carrier, device, browser, page type, and network conditions. For example, sitewide P75 load time may look normal, but further grouping may reveal:

  • Users on mobile networks in Southeast Asia are noticeably slower

  • The failure rate for a certain carrier keeps rising

  • LCP is poor on low-end Android devices

  • Product detail pages are much slower than the homepage

  • Cache-miss visits are significantly slower than cache hits

  • Performance differs considerably between logged-in and anonymous users

These issues are difficult to fully reconstruct with a small number of fixed nodes.

Is slow page performance really caused by the CDN?

Users perceive the entire page, not an isolated CDN request. Page speed is also affected by origin processing, front-end rendering, image size, JavaScript execution, and third-party APIs.

Therefore, a decline in LCP or page load time in RUM does not directly prove that the CDN has a problem. You need to correlate it with:

  • TTFB for navigation requests and static resources

  • CDN cache hit status

  • Response IP and serving region

  • Page version and resource size

  • Front-end errors and third-party requests

  • Origin processing time

  • CDN access logs and origin logs

If static resources respond quickly but LCP is still poor, the problem is more likely in image dimensions, render blocking, or client-side execution, rather than CDN transport itself.

Has CDN optimization improved business experience?

After changing node policies, compressing resources, or increasing cache hit rate, RUM can show whether the performance distribution for real users has changed, and further analyze error rates, bounce rates, or critical business processes.

Here, compare the same user group and page type, not simply sitewide averages before and after optimization. Traffic sources, promotions, device mix, and regional composition can all change the results.

RUM data is not a complete record of all users either

Real-user monitoring sounds 'real,' but it still has sampling boundaries.

If the monitoring script runs only after the page loads, users who abandon the visit, lose connectivity, or fail to load before the script runs may never report data. This creates survivorship bias: the data looks good because the worst visits never made it into the sample.

In addition, RUM is affected by these factors:

  • Insufficient website traffic leaves too few samples after regional breakdowns

  • Ad blockers or privacy settings prevent the script from running

  • Different browser versions expose different performance fields

  • User networks and device mix keep changing

  • Sampling rate adjustments cause inconsistencies in before-and-after data

  • Privacy policies restrict the collection of geolocation or user identifiers

Chrome'sCrUX data methodology documentationalso notes that field data must meet user and site eligibility requirements; not all browsers, devices, and visits enter the dataset, and a page or site must have sufficient traffic.

Therefore, low-traffic websites, newly launched pages, and niche countries usually cannot rely on RUM alone.

Why is active probing normal while real-user monitoring shows slow performance?

This is fairly common and usually means the test nodes do not cover all the conditions real users encounter.

Possible reasons include:

  • Active probing uses data center networks, while real users use mobile or home broadband

  • The test target is a well-cached static file, while users open a complete dynamic page

  • Real pages contain many third-party scripts and cross-origin requests

  • Test nodes have high performance, while real users use low-end devices

  • Core users are concentrated in regions not covered by active probing

  • Personalized content, cookies, or login state cause cache bypass

  • First-time visitors need to establish more connections, while probe requests may reuse connections

  • The CDN itself is fine, but the origin, API, or front-end rendering is slow

When website performance fluctuates, do not choose just the fastest or slowest single result.How to test CDN speed when a website is sometimes fast and sometimes slowYou need to observe test times, node distribution, failure ratio, and latency percentiles together.

Why is real-user data normal while active probing frequently fails?

The reverse can also happen:

  • The region where the probe nodes are located is not the website's target market

  • WAF or anti-bot policies block probe requests at a fixed frequency

  • The test URL is not representative

  • Each probe uses a cold connection, while users' browsers reuse connections

  • Real users are concentrated on popular resources that are already warmed up

  • Probe requests lack specific cookies, headers, or authentication information

  • Some regions have no actual traffic, so RUM has no corresponding samples

If active probing consistently fails in a certain region and RUM has no data for that region, you cannot directly conclude that the failure 'does not affect users.' Users may also have been unable to complete the monitoring script report because the page would not open. In this case, continue checking CDN logs, origin logs, and DNS queries.

Use a browser to inspect the performance phases of a single navigation request

If a full RUM system is not yet deployed, you can first use the browser Performance API to inspect the navigation timing of the current visit:

window.addEventListener("load", () => {
  const nav = performance.getEntriesByType("navigation")[0];

  const metrics = {
    dns: nav.domainLookupEnd - nav.domainLookupStart,
    connect: nav.connectEnd - nav.connectStart,
    tls: nav.secureConnectionStart > 0
      ? nav.connectEnd - nav.secureConnectionStart
      : 0,
    ttfb: nav.responseStart - nav.requestStart,
    download: nav.responseEnd - nav.responseStart,
    total: nav.loadEventEnd - nav.startTime
  };

  console.table(metrics);
});

Output is usually in milliseconds. Focus on the DNS, connection, TLS, TTFB, and download phases. A phase showing 0 is not necessarily abnormal; the browser may be using DNS cache, connection reuse, or preconnect.

This code only inspects one visit in the current browser and cannot replace full RUM. Production collection must also handle sampling, data reporting, cross-origin resource timing, outliers, and user privacy, and should not collect personal information unrelated to performance analysis.

A more reliable CDN assessment process

If you need to choose or validate a CDN for a real business, organize testing in the following order.

1. Define users and business objects first

Identify the main countries, regions, and carriers, as well as the website type. Image sites, download sites, video, APIs, and e-commerce pages do not focus on the same metrics.

At the same time, select representative URLs:


  • A small static file to observe connection and baseline latency


  • A commonly used image or front-end resource to observe cache delivery


  • A medium-sized file to observe download and throughput


  • A dynamic page or API to observe the origin fetch path

2. Use active probing to establish a control baseline

Test different candidate CDNs from the same nodes at similar times, and record status codes, response IPs, DNS time, connection time, download time, total duration, and failure rate.

Do not save only averages. P50 reflects typical visits, while P95 is better at exposing long-tail problems; failing nodes can reveal regional failures hidden by averages.

CdnChart's publicly availabletesting methodology and scoring criteriaexplain the data sources, coverage conditions, and sample limitations of active probing. Active probing covers the observation nodes that actually participate in the test and is not equivalent to a vendor's complete node list; when samples are insufficient, short-term results should not be treated as long-term conclusions.

3. Route part of real traffic through the candidate CDNs

After entering the trial or POC phase, deploy RUM and run canary traffic validation. To reduce bias, candidate groups should keep regions, devices, page types, and traffic sources as similar as possible.

4. Break down RUM results by user group

Sitewide averages are often not enough. At a minimum, observe:


  • Country, region, and carrier


  • Desktop and mobile


  • Page type and resource type


  • Browser and device performance


  • Cache hits and misses


  • Percentiles such as P50, P75, and P95


  • Successful requests, timeouts, and error requests

5. Use logs to confirm which layer the problem belongs to

After active probing and RUM detect anomalies, further check CDN access logs, cache status, DNS records, origin logs, and front-end performance.

Only when multiple types of evidence point to the same link can you confidently determine that the problem comes from the CDN. The final decision should also include cost, contracts, technical support, security features, and operational complexity; it should not rely solely on speed test results.

FAQ

Which is more suitable for CDN selection: active probing or real-user monitoring?

Active probing is more suitable for initial screening and horizontal comparison of candidate vendors because test conditions can remain consistent. After entering the trial or POC phase, use real-user monitoring to confirm whether target users actually see improvement.

Is it necessary for small-traffic websites to deploy RUM?

You can deploy it, but samples may be insufficient after breaking down by region, carrier, or page. Small-traffic websites should use active probing as the foundation and treat RUM as a long-term supplement, rather than waiting for a small number of real visits to draw definitive conclusions.

Can TTFB in RUM directly represent CDN performance?

No. TTFB may also include DNS, connection, TLS, CDN processing, cache origin fetch, and origin response. You need to break it down using cache status, response IP, server logs, and active probing results.

Does a larger number of active probe nodes always mean more accurate results?

Not necessarily. Beyond node count, you also need to check whether regions and carriers match real users, whether nodes are healthy, whether tests use the same URLs, and whether samples remain stable over time. A large number of duplicate or business-irrelevant nodes does not necessarily improve decision quality.

Can CrUX directly replace a website's own RUM?

CrUX is suitable for understanding aggregated user experience on eligible sites, but it has limitations in coverage, eligibility, and data granularity. When you need to analyze specific pages, business versions, CDN routes, or custom dimensions, you still need the website's own RUM data.

How long should RUM data be collected?

At a minimum, cover a complete business cycle; do not look only at a few hours or a single workday. Websites with obvious traffic fluctuations usually need to cover weekdays, weekends, and campaign periods, and ensure sufficient samples in each key region.

Will active probing be misidentified by a WAF as an attack?

Probes with fixed frequency, high concurrency, or uniform request characteristics may trigger rate limiting and bot protection. Use reasonable frequencies, identify probe sources, and distinguish real CDN failures from security policy blocks, but do not disable the WAF for long periods just for speed testing.

When the two types of data conflict, which one should you trust?

First determine whether they tested the same regions, URLs, times, and access conditions. Active probing is used to confirm whether the network and delivery path are abnormal; RUM is used to confirm whether actual users are affected. A conflict usually does not mean choosing one to 'trust'; it signals that you need to check user distribution, cache status, page resources, WAF rules, and data sampling scope.

  • CDN active probing
  • real user monitoring
  • RUM monitoring
  • CDN performance assessment
  • CDN speed test
  • synthetic monitoring
  • CDN selection

Related posts