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 50 ms.

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

Response time around the world

Amsterdam 13ms typicalSan Francisco 50ms typicalMontreal 27ms typicalSingapore 17ms typicalTokyo 16ms typicalMumbai 16ms typical
  • NetherlandsAmsterdam
    13 ms
  • JapanTokyo
    16 ms
  • IndiaMumbai
    16 ms
  • SingaporeSingapore
    17 ms
  • CanadaMontreal
    27 ms
  • United StatesSan Francisco
    50 ms

What changed in Singapore on 25 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 126 ms every day from 25 September. The controlled run of 27 September 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 is close by, so the extra wait is behind it. The other five cities did not change.

Click the location to see each stage.

ConnectTLSServer waitDownload
SingaporeSingapore
128 ms
Finding the server
6 ms
Reaching the server
3 ms
Setting up security
6 ms
Waiting for the server: most of the time
119 ms
Receiving the response
0 ms
Total
128 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
13 ms
Finding the server
1 ms
Reaching the server
2 ms
Setting up security: most of the time
6 ms
Waiting for the server
5 ms
Receiving the response
0 ms
Total
13 ms
United StatesSan Francisco
47 ms
Finding the server
19 ms
Reaching the server
12 ms
Setting up security: most of the time
22 ms
Waiting for the server
12 ms
Receiving the response
1 ms
Total
47 ms
CanadaMontreal
28 ms
Finding the server
56 ms
Reaching the server
2 ms
Setting up security: most of the time
22 ms
Waiting for the server
4 ms
Receiving the response
0 ms
Total
28 ms
SingaporeSingapore
128 ms
Finding the server
6 ms
Reaching the server
3 ms
Setting up security
6 ms
Waiting for the server: most of the time
119 ms
Receiving the response
0 ms
Total
128 ms
JapanTokyo
16 ms
Finding the server
4 ms
Reaching the server
3 ms
Setting up security: most of the time
9 ms
Waiting for the server
4 ms
Receiving the response
0 ms
Total
16 ms
IndiaMumbai
18 ms
Finding the server
2 ms
Reaching the server
4 ms
Setting up security: most of the time
8 ms
Waiting for the server
5 ms
Receiving the response
1 ms
Total
18 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

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 241 to 615 ms from Montreal, Singapore, Tokyo and Mumbai, likely requests that arrived after the copy expired.

Response time over the last 19 days

Daily median of 5 requests per location, 9 September 2026 to 27 September 2026.
0100200 ms9 Sept27 SeptSan Francisco, 10 September 2026: 141 ms, well above its usual level.San 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.

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

Show the numbers
DayAmsterdamSan FranciscoMontrealSingaporeTokyoMumbai
9 September 202611 ms97 ms27 ms13 ms18 ms16 ms
10 September 202612 ms141 ms ▲30 ms15 ms16 ms14 ms
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

About this measurement

GET proxy.golang.org/github.com/pkg/errors/@v/list · 69 to 70 requests per location over 14 daily runs · 14 September 2026 to 27 September 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.

Not measured: module zip downloads, the checksum database at sum.golang.org, resolving a whole dependency graph, or a private or vendored proxy.

Between 14 and 27 September 2026 the typical time was 13 ms in Amsterdam, 16 ms in Tokyo and Mumbai, 17 ms in Singapore, 27 ms in Montreal and 50 ms in San Francisco. Amsterdam was the fastest city on 13 of the 14 days and San Francisco the slowest on 11, with every phase longer there: 12 ms to connect and 22 ms for the secure handshake in the controlled run. Singapore's pooled typical still reads 17 ms because only its last three days were slow. Compare npm, PyPI, crates.io and Maven Central, the other package registries we measure.

Test locationTypical response timeSlower response timeRequests
Amsterdam13 ms42 ms20
San Francisco50 ms102 ms20
Montreal27 ms264 ms20
Singapore17 ms346 ms20
Tokyo16 ms241 ms20
Mumbai16 ms615 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 proxy.golang.org/github.com/pkg/errors/@v/list
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: 69 · 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.

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.2)

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 →