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 21 ms; Mumbai took 47 ms.

Fastest
21 ms
Tokyo
Slowest
47 ms
Mumbai
Successful requests
100%
6 locations

Response time around the world

Amsterdam 39ms typicalSan Francisco 27ms typicalMontreal 45ms typicalSingapore 30ms typicalTokyo 21ms typicalMumbai 47ms typical
  • JapanTokyo
    21 ms
  • United StatesSan Francisco
    27 ms
  • SingaporeSingapore
    30 ms
  • NetherlandsAmsterdam
    39 ms
  • CanadaMontreal
    45 ms
  • IndiaMumbai
    47 ms

Why is Mumbai sometimes slow?

On eight of the 14 days Mumbai had the module in 19 to 55 ms. On the other six (15, 17, 20, 21, 22 and 25 September) its daily median was 223 to 253 ms, about ten times longer. The controlled run of 27 September caught both in one run: the median request took 23 ms and the slowest 5% about 233 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
23 ms
Finding the server
5 ms
Reaching the server
3 ms
Setting up security: most of the time
10 ms
Waiting for the server
10 ms
Receiving the response
0 ms
Total
23 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
38 ms
Finding the server
9 ms
Reaching the server
9 ms
Setting up security
12 ms
Waiting for the server: most of the time
16 ms
Receiving the response
1 ms
Total
38 ms
United StatesSan Francisco
21 ms
Finding the server
13 ms
Reaching the server
4 ms
Setting up security
7 ms
Waiting for the server: most of the time
10 ms
Receiving the response
0 ms
Total
21 ms
CanadaMontreal
45 ms
Finding the server
4 ms
Reaching the server
11 ms
Setting up security: most of the time
18 ms
Waiting for the server
16 ms
Receiving the response
0 ms
Total
45 ms
SingaporeSingapore
28 ms
Finding the server
3 ms
Reaching the server
2 ms
Setting up security
11 ms
Waiting for the server: most of the time
15 ms
Receiving the response
0 ms
Total
28 ms
JapanTokyo
20 ms
Finding the server
5 ms
Reaching the server
2 ms
Setting up security
5 ms
Waiting for the server: most of the time
12 ms
Receiving the response
1 ms
Total
20 ms
IndiaMumbai
23 ms
Finding the server
5 ms
Reaching the server
3 ms
Setting up security: most of the time
10 ms
Waiting for the server
10 ms
Receiving the response
0 ms
Total
23 ms

The phases come from the controlled run of 27 September 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 27 September 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.

Response time over the last 18 days

Daily median of 5 requests per location, 9 September 2026 to 27 September 2026.
0250500 ms9 Sept27 SeptMontreal, 22 September 2026: 54 ms, well above its usual level.Montreal, 26 September 2026: 53 ms, well above its usual level.Mumbai, 9 September 2026: 238 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.

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

Show the numbers
DayAmsterdamSan FranciscoMontrealSingaporeTokyoMumbai
9 September 202646 ms26 ms20 ms30 ms32 ms238 ms ▲
10 September 202638 ms26 ms21 ms27 ms33 ms39 ms
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 ms ▲34 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 ms ▲33 ms19 ms24 ms
27 September 202641 ms26 ms48 ms28 ms18 ms21 ms

About this measurement

GET esm.sh/preact@10.19.3 · 70 requests per location over 14 daily runs · 14 September 2026 to 27 September 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.

Not measured: the build the entry module points to, full bundles, esm.sh building a package it has not seen before, or npm install.

Between 14 and 27 September 2026 the typical time was 21 ms in Tokyo, 27 ms in San Francisco, 30 ms in Singapore, 39 ms in Amsterdam, 45 ms in Montreal and 47 ms in Mumbai. Mumbai's typical hides two states, 19 to 55 ms on eight days and 223 to 253 ms on six, which is why its slower time is 259 ms, more than five times its typical. San Francisco also has a long tail for a file this small, 101 ms, from a handful of slow requests; its daily median never left 24 to 32 ms.

Test locationTypical response timeSlower response timeRequests
Amsterdam39 ms47 ms20
San Francisco27 ms101 ms20
Montreal45 ms55 ms20
Singapore30 ms56 ms20
Tokyo21 ms33 ms20
Mumbai47 ms259 ms20

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 14 September 2026 to 27 September 2026. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai. · 14 September 2026 to 27 September 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: 70 · San Francisco: 70 · Montreal: 70 · Singapore: 70 · Tokyo: 70 · Mumbai: 70
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.2)

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 →