{{>header}} {{>nav}}

Usage and performance

{{#if errors}}

Some usage stats cannot be shown, probably because you need to configure the environment variables needed to get data from external services. The specific errors are shown below

{{#each errors}}{{.}}
{{/each}}
{{/if}}

The public instance of the polyfill service is hosted by the Financial Times, with the generous support of Fastly, who provide CDN distribution. View Fastly network map

{{#if fastly.byday}}

Traffic volume

This shows the number of requests we have served per day, over the last 180 days, measured by Fastly:

{{#each fastly.byday}} {{/each}}
DateRequests
{{prettifyDate date}}{{requests}}
{{/if}}
{{#if respTimes}}

Response time

Mean global response time, ms, from Pingdom:

{{#each respTimes}} {{/each}}
DateResponse time (ms)
{{prettifyDate date}}{{respTime}}
{{/if}} {{#if fastly.rollup}}

Caching

Hit ratio, last 7 days, from Fastly:

Cache resultRequests
Hits{{fastly.rollup.hits}}
Misses{{fastly.rollup.miss}}
{{/if}} {{#if outages}}

Availability

Total downtime, according to Pingdom:

Last 30 days{{prettifyDuration outages.30d}}
Last 3 months{{prettifyDuration outages.3m}}
Last 12 months{{prettifyDuration outages.12m}}
{{/if}}

Caching responses that vary by User-Agent is very hard to do with good cache performance. We use a custom Fastly VCL configuration that separates the UA normalisation from the polyfill bundle.

{{#if rumPerf}}

Network performance in detail

95th percentile and median resource timing metrics, broken down by Fastly edge point of presence, measured using the resource timing API from live polyfill service requests that opted in to anonymously report performance data. Last {{rumPerf.period}} days, showing only POPs that have served more than {{rumPerf.minSample}} RUM-enabled requests.

{{#each rumPerf.rows}} {{/each}}
PoP Sample Per connection phase (95th percentile and median) Overall
{{data_center}} {{number_format count}}
{{number_format perf_total_95P}}ms
({{number_format perf_total_median}}ms)

Only non-zero samples are counted, which in practice means there are far fewer DNS lookup and TCP connect datapoints, because if reusing a keep-alive connection, both will be zero. Timings for individual connection phases do not sum to the overall RTT because, for example, the request that exhibits the 95th percentile DNS time, will most likely not also be the 95th percentile on all other connection metrics.

Typically Polyfill.io is loaded at a point where the browser is very busy. To speed up loading, consider using preconnect or preload. {{/if}}

{{>footer}}