Benchmark report

Go module proxy thumbnail

Is the Go module proxy slow?

Response times from 6 cities

Fast globally

Go module proxy responds quickly from all 6 test locations. Amsterdam was fastest at 13 ms; San Francisco took 52 ms.

Fastest
13 ms
Amsterdam
Slowest
52 ms
San Francisco
Successful requests
100%
6 locations

Response time around the world

Amsterdam 13ms typicalSan Francisco 52ms typicalMontreal 28ms typicalSingapore 15ms typicalTokyo 18ms typicalMumbai 16ms typical
  • NetherlandsAmsterdam
    13 ms
  • SingaporeSingapore
    15 ms
  • IndiaMumbai
    16 ms
  • JapanTokyo
    18 ms
  • CanadaMontreal
    28 ms
  • United StatesSan Francisco
    52 ms

What changed in Singapore in late September?

Until 23 September Singapore had the version list in 13 to 19 ms, like Tokyo and Mumbai. It took 33 ms on 24 September and 108 to 163 ms every day from 25 to 28 September, then went back to 13 to 17 ms from the 29th and stayed there. The controlled run of 27 September, inside that stretch, shows where the time went: connecting took 3 ms and the secure handshake 6 ms, but waiting for the answer took 119 ms. A 3 ms connection means the Google address that answered was close by, so the extra wait was behind it. In the controlled run of 4 October Singapore waited 8 ms and finished in 18 ms. The other five cities did not change.

Click the location to see each stage.

ConnectTLSServer waitDownload
SingaporeSingapore
18 ms
Finding the server
4 ms
Reaching the server
4 ms
Setting up security
6 ms
Waiting for the server: most of the time
8 ms
Receiving the response
0 ms
Total
18 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
14 ms
Finding the server
1 ms
Reaching the server
5 ms
Setting up security: most of the time
6 ms
Waiting for the server
3 ms
Receiving the response
0 ms
Total
14 ms
United StatesSan Francisco
45 ms
Finding the server
20 ms
Reaching the server
12 ms
Setting up security: most of the time
20 ms
Waiting for the server
13 ms
Receiving the response
0 ms
Total
45 ms
CanadaMontreal
29 ms
Finding the server
1 ms
Reaching the server
4 ms
Setting up security: most of the time
20 ms
Waiting for the server
5 ms
Receiving the response
0 ms
Total
29 ms
SingaporeSingapore
18 ms
Finding the server
4 ms
Reaching the server
4 ms
Setting up security
6 ms
Waiting for the server: most of the time
8 ms
Receiving the response
0 ms
Total
18 ms
JapanTokyo
16 ms
Finding the server
5 ms
Reaching the server
4 ms
Setting up security: most of the time
7 ms
Waiting for the server
5 ms
Receiving the response
0 ms
Total
16 ms
IndiaMumbai
17 ms
Finding the server
69 ms
Reaching the server
4 ms
Setting up security: most of the time
8 ms
Waiting for the server
5 ms
Receiving the response
0 ms
Total
17 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

Go module proxy still feels slow?

The Go module proxy has no status page
The Go team does not publish one. Setting `GOPROXY=direct` skips the proxy and fetches from the module's own repository, which tells you whether the proxy is the slow part.
This is one version list
We fetch the list of versions for github.com/pkg/errors, 91 bytes, the first step of a `go get`. Module zip downloads, the checksum database and resolving a whole dependency graph are not measured.
Cached for a minute, so the tail is long
The proxy caches this list for 60 seconds. The typical request is answered in under 30 ms from five cities, but the slowest 5% took 248 to 617 ms from Montreal, Tokyo and Mumbai, likely requests that arrived after the copy expired. Singapore's 299 ms also includes its two slow days at the start of the window.

Response time over the last 29 days

Daily median of 5 requests per location, 11 September 2026 to 10 October 2026.
0100200 ms11 Sept10 OctSan Francisco, 11 September 2026: 141 ms, well above its usual level.Singapore, 25 September 2026: 126 ms, well above its usual level.Singapore, 26 September 2026: 108 ms, well above its usual level.Singapore, 27 September 2026: 119 ms, well above its usual level.Singapore, 28 September 2026: 163 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 202611 ms141 ms ▲47 ms18 ms18 ms15 ms
12 September 202615 ms48 ms26 ms15 ms19 ms15 ms
13 September 202612 ms55 ms26 ms16 ms16 ms16 ms
14 September 202612 ms53 ms28 ms14 ms16 ms14 ms
15 September 202614 ms48 ms26 ms15 ms18 ms14 ms
16 September 202617 ms49 ms31 ms13 ms16 ms16 ms
17 September 202613 ms48 ms26 ms17 ms17 ms18 ms
18 September 202613 ms58 ms26 ms19 ms16 ms19 ms
19 September 202611 ms54 ms27 ms14 ms15 ms17 ms
20 September 202614 ms50 ms27 ms14 ms16 ms17 ms
21 September 202613 ms44 ms26 ms16 ms16 ms19 ms
22 September 202615 ms49 ms29 ms15 ms18 ms16 ms
23 September 202612 ms61 ms29 ms13 ms16 ms16 ms
24 September 202613 ms61 ms26 ms33 ms15 ms16 ms
25 September 202612 ms44 ms29 ms126 ms ▲15 ms18 ms
26 September 202612 ms46 ms29 ms108 ms ▲19 ms16 ms
27 September 202613 ms54 ms27 ms119 ms ▲18 ms16 ms
28 September 202613 ms46 ms28 ms163 ms ▲18 ms17 ms
29 September 202613 ms44 ms27 ms16 ms22 ms16 ms
30 September 202612 ms52 ms29 ms13 ms18 ms14 ms
1 October 202614 ms50 ms26 ms13 ms16 ms16 ms
2 October 202612 ms52 ms28 ms14 ms34 ms16 ms
3 October 202611 ms49 ms29 ms14 ms17 ms15 ms
4 October 202615 ms46 ms28 ms17 ms31 ms17 ms
5 October 202613 ms59 ms27 ms14 ms16 ms14 ms
6 October 202612 ms67 ms28 ms14 ms18 ms15 ms
7 October 202613 ms63 ms27 ms14 ms16 ms15 ms
9 October 202615 ms56 ms27 ms15 ms17 ms19 ms
10 October 202613 ms47 ms30 ms13 ms19 ms18 ms

About this measurement

GET proxy.golang.org/github.com/pkg/errors/@v/list · 65 requests per location over 13 daily runs · 27 September 2026 to 10 October 2026

What we tested · Package registry. The version list for github.com/pkg/errors from proxy.golang.org: 91 bytes of text, cached for 60 seconds. The first step of a go get.

How LatencyRadar measures response time →

Technical details

Doesn’t measure: Module zip downloads, the checksum database, resolving a dependency graph, or a private or vendored proxy.

One Go module proxy surface: the version list for github.com/pkg/errors from proxy.golang.org, 91 bytes of text that the proxy caches for 60 seconds. The go command reads a list like this before it downloads a module, so it stands for the first step of go get and of a module build that has nothing cached locally. Each of our cities reached a different Google address.

Between 27 September and 10 October 2026 the typical time was 13 ms in Amsterdam, 15 ms in Singapore, 16 ms in Mumbai, 18 ms in Tokyo, 28 ms in Montreal and 52 ms in San Francisco. Amsterdam was the fastest city, or tied for it, on 12 of the 13 days and San Francisco the slowest on 11. In the controlled run of 4 October San Francisco took 12 ms to connect and 13 ms waiting for the answer, against 4 to 5 ms and 3 to 8 ms from the other cities, and only Montreal matched its 20 ms secure handshake. Singapore's pooled typical reads 15 ms because only its first two days in this window were slow. Compare npm, PyPI, crates.io and Maven Central, the other package registries we measure.

Test locationTypical response timeSlower response timeRequests
Amsterdam13 ms43 ms65
San Francisco52 ms109 ms65
Montreal28 ms248 ms65
Singapore15 ms299 ms65
Tokyo18 ms286 ms65
Mumbai16 ms617 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 proxy.golang.org/github.com/pkg/errors/@v/list
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.

Go module proxy

https://proxy.golang.org/github.com/pkg/errors/@v/list

Independent measurement by LatencyRadar. Not affiliated with Go module proxy. · How we measure (v1.3)

How fast is your API 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 API

No account required · Takes about 30 seconds.

More benchmarks

All benchmarks →