Benchmark report

esm.sh thumbnail

Is esm.sh slow?

Module response times from 6 cities

Fast globally

esm.sh responds quickly from all 6 test locations. Tokyo was fastest at 20 ms; Montreal took 48 ms.

Fastest
20 ms
Tokyo
Slowest
48 ms
Montreal
Successful requests
100%
6 locations

Response time around the world

Amsterdam 40ms typicalSan Francisco 27ms typicalMontreal 48ms typicalSingapore 32ms typicalTokyo 20ms typicalMumbai 25ms typical
  • JapanTokyo
    20 ms
  • IndiaMumbai
    25 ms
  • United StatesSan Francisco
    27 ms
  • SingaporeSingapore
    32 ms
  • NetherlandsAmsterdam
    40 ms
  • CanadaMontreal
    48 ms

Why is Mumbai sometimes slow?

On ten of the 13 days Mumbai had the module in 19 to 36 ms. On the other three (7, 9 and 10 October) its daily median was 231 to 236 ms, about ten times longer. The controlled run of 4 October caught both in one run: the median request took 20 ms and the slowest 5% about 250 ms. From outside we cannot see why; the pattern looks like a cache that sometimes answers in Mumbai and sometimes has to fetch the file from further away.

Click the location to see each stage.

ConnectTLSServer waitDownload
IndiaMumbai
20 ms
Finding the server
9 ms
Reaching the server
2 ms
Setting up security: most of the time
9 ms
Waiting for the server
9 ms
Receiving the response
0 ms
Total
20 ms

Finding the server is measured once per location, so it sits outside these bars. Open a city to see it.

Bars show the typical request, so the parts add up to its total. Why

Compare all locations

Click a city to see its stage-by-stage breakdown.

ConnectTLSServer waitDownload
NetherlandsAmsterdam
39 ms
Finding the server
1 ms
Reaching the server
10 ms
Setting up security
13 ms
Waiting for the server: most of the time
16 ms
Receiving the response
0 ms
Total
39 ms
United StatesSan Francisco
23 ms
Finding the server
29 ms
Reaching the server
3 ms
Setting up security
6 ms
Waiting for the server: most of the time
13 ms
Receiving the response
1 ms
Total
23 ms
CanadaMontreal
46 ms
Finding the server
46 ms
Reaching the server
11 ms
Setting up security
14 ms
Waiting for the server: most of the time
21 ms
Receiving the response
0 ms
Total
46 ms
SingaporeSingapore
29 ms
Finding the server
7 ms
Reaching the server
3 ms
Setting up security
8 ms
Waiting for the server: most of the time
18 ms
Receiving the response
0 ms
Total
29 ms
JapanTokyo
20 ms
Finding the server
1 ms
Reaching the server
2 ms
Setting up security
8 ms
Waiting for the server: most of the time
10 ms
Receiving the response
0 ms
Total
20 ms
IndiaMumbai
20 ms
Finding the server
9 ms
Reaching the server
2 ms
Setting up security: most of the time
9 ms
Waiting for the server
9 ms
Receiving the response
0 ms
Total
20 ms

The phases come from the controlled run of 4 October 2026. Typical and slower times pool the daily requests. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai.

Finding the server is measured once per location, so it sits outside these bars. Open a city to see it.

Bars show the typical request, so the parts add up to its total. Why

esm.sh still feels slow?

esm.sh has no status page
It runs behind Cloudflare, so a Cloudflare incident can show up here. Cloudflare's status page is the closest thing to one.
This is one resolve step
We fetch the preact 10.19.3 entry module, an 81-byte file that points to the build. The build itself, a full bundle, a package esm.sh has not built before, and npm install are not measured.
Montreal is answered from Newark
In the controlled run of 4 October Montreal's requests were answered by Cloudflare in Newark, while every other city had a nearby site. Montreal's daily median went from 17 to 23 ms to 44 to 54 ms on 20 September, which suggests its route changed that day. From 27 September to 10 October it stayed at 45 to 52 ms.

Response time over the last 29 days

Daily median of 5 requests per location, 11 September 2026 to 10 October 2026.
0250500 ms11 Sept10 OctSingapore, 10 October 2026: 64 ms, well above its usual level.Mumbai, 12 September 2026: 227 ms, well above its usual level.Mumbai, 15 September 2026: 253 ms, well above its usual level.Mumbai, 17 September 2026: 223 ms, well above its usual level.Mumbai, 20 September 2026: 233 ms, well above its usual level.Mumbai, 21 September 2026: 226 ms, well above its usual level.Mumbai, 22 September 2026: 233 ms, well above its usual level.Mumbai, 25 September 2026: 235 ms, well above its usual level.Mumbai, 7 October 2026: 231 ms, well above its usual level.Mumbai, 9 October 2026: 236 ms, well above its usual level.Mumbai, 10 October 2026: 231 ms, well above its usual level.

A dot marks a day well above that location’s usual level.

Show the numbers
DayAmsterdamSan FranciscoMontrealSingaporeTokyoMumbai
11 September 202641 ms32 ms24 ms49 ms20 ms26 ms
12 September 202644 ms23 ms20 ms32 ms25 ms227 ms ▲
13 September 202641 ms34 ms23 ms42 ms31 ms35 ms
14 September 202638 ms28 ms19 ms31 ms24 ms25 ms
15 September 202639 ms24 ms21 ms33 ms26 ms253 ms ▲
16 September 202637 ms29 ms23 ms28 ms20 ms55 ms
17 September 202643 ms24 ms21 ms46 ms27 ms223 ms ▲
18 September 202639 ms30 ms17 ms30 ms21 ms26 ms
19 September 202639 ms29 ms19 ms28 ms21 ms19 ms
20 September 202637 ms27 ms44 ms27 ms23 ms233 ms ▲
21 September 202642 ms26 ms50 ms29 ms21 ms226 ms ▲
22 September 202637 ms27 ms54 ms34 ms19 ms233 ms ▲
23 September 202642 ms32 ms49 ms30 ms22 ms28 ms
24 September 202643 ms27 ms51 ms29 ms20 ms21 ms
25 September 202639 ms26 ms47 ms25 ms21 ms235 ms ▲
26 September 202635 ms26 ms53 ms33 ms19 ms24 ms
27 September 202641 ms26 ms48 ms28 ms18 ms21 ms
28 September 202643 ms30 ms52 ms29 ms21 ms36 ms
29 September 202638 ms23 ms45 ms30 ms22 ms23 ms
30 September 202640 ms27 ms50 ms30 ms20 ms21 ms
1 October 202640 ms25 ms51 ms28 ms18 ms29 ms
2 October 202637 ms29 ms49 ms33 ms21 ms21 ms
3 October 202637 ms26 ms45 ms43 ms18 ms28 ms
4 October 202638 ms24 ms46 ms34 ms18 ms19 ms
5 October 202638 ms22 ms51 ms28 ms20 ms26 ms
6 October 202640 ms27 ms49 ms42 ms22 ms21 ms
7 October 202638 ms32 ms48 ms35 ms19 ms231 ms ▲
9 October 202642 ms31 ms48 ms33 ms24 ms236 ms ▲
10 October 202645 ms38 ms46 ms64 ms ▲19 ms231 ms ▲

About this measurement

GET esm.sh/preact@10.19.3 · 65 requests per location over 13 daily runs · 27 September 2026 to 10 October 2026

What we tested · Static file. The preact 10.19.3 entry module from esm.sh: an 81-byte file that re-exports the build, immutable behind Cloudflare. One resolve step of an npm import.

How LatencyRadar measures response time →

Technical details

Doesn’t measure: The module it points to, a full bundle, esm.sh's build step for a package it has not seen, or npm install.

One esm.sh surface: the entry module for preact 10.19.3, an 81-byte file that re-exports the build, marked immutable and served behind Cloudflare. A browser that imports a package from esm.sh asks for this file first and then follows it to the build, so this measures that first step of the import, not the whole thing.

Between 27 September and 10 October 2026 the typical time was 20 ms in Tokyo, 25 ms in Mumbai, 27 ms in San Francisco, 32 ms in Singapore, 40 ms in Amsterdam and 48 ms in Montreal. Mumbai's typical hides two states, 19 to 36 ms on ten days and 231 to 236 ms on three, which is why its slower time is 250 ms, ten times its typical. Singapore's slower time, 72 ms, is also more than twice its typical; its daily median stayed between 28 and 43 ms except on 10 October, when it reached 64 ms.

Test locationTypical response timeSlower response timeRequests
Amsterdam40 ms51 ms65
San Francisco27 ms49 ms65
Montreal48 ms54 ms65
Singapore32 ms72 ms65
Tokyo20 ms39 ms65
Mumbai25 ms250 ms65

Typical: half of the requests finished within this time (technical: p50). Slower: 95% of requests finished within this time (technical: p95). Statistics

Request
GET esm.sh/preact@10.19.3
Measured from
Amsterdam · San Francisco · Montreal · Singapore · Tokyo · Mumbai
Requests
Daily measurements from 27 September 2026 to 10 October 2026. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai. · 27 September 2026 to 10 October 2026
Timings taken
DNS, connect, TLS, waiting for the server, download
Report coverage
6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai.
Daily requests in each location
Amsterdam: 65 · San Francisco: 65 · Montreal: 65 · Singapore: 65 · Tokyo: 65 · Mumbai: 65
Typical response time
Median of the eligible daily requests in each included location.
Slower response time
The 95th percentile of the same eligible daily requests in each included location.

esm.sh

https://esm.sh/preact@10.19.3

Independent measurement by LatencyRadar. Not affiliated with esm.sh. · How we measure (v1.3)

How fast does your site load around the world?

Run a free speed test from multiple cities and find out where your users are waiting. No setup, no account required.

Test my site

No account required · Takes about 30 seconds.

More benchmarks

All benchmarks →