Benchmark report
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
13 msSingapore
15 msMumbai
16 msTokyo
18 msMontreal
28 msSan 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.
Singapore18 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 locationsHide the comparison
Click a city to see its stage-by-stage breakdown.
Amsterdam14 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
San Francisco45 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
Montreal29 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
Singapore18 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
Tokyo16 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
Mumbai17 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
A dot marks a day well above that location’s usual level.
Show the numbers
| Day | Amsterdam | San Francisco | Montreal | Singapore | Tokyo | Mumbai |
|---|---|---|---|---|---|---|
| 11 September 2026 | 11 ms | 141 ms ▲ | 47 ms | 18 ms | 18 ms | 15 ms |
| 12 September 2026 | 15 ms | 48 ms | 26 ms | 15 ms | 19 ms | 15 ms |
| 13 September 2026 | 12 ms | 55 ms | 26 ms | 16 ms | 16 ms | 16 ms |
| 14 September 2026 | 12 ms | 53 ms | 28 ms | 14 ms | 16 ms | 14 ms |
| 15 September 2026 | 14 ms | 48 ms | 26 ms | 15 ms | 18 ms | 14 ms |
| 16 September 2026 | 17 ms | 49 ms | 31 ms | 13 ms | 16 ms | 16 ms |
| 17 September 2026 | 13 ms | 48 ms | 26 ms | 17 ms | 17 ms | 18 ms |
| 18 September 2026 | 13 ms | 58 ms | 26 ms | 19 ms | 16 ms | 19 ms |
| 19 September 2026 | 11 ms | 54 ms | 27 ms | 14 ms | 15 ms | 17 ms |
| 20 September 2026 | 14 ms | 50 ms | 27 ms | 14 ms | 16 ms | 17 ms |
| 21 September 2026 | 13 ms | 44 ms | 26 ms | 16 ms | 16 ms | 19 ms |
| 22 September 2026 | 15 ms | 49 ms | 29 ms | 15 ms | 18 ms | 16 ms |
| 23 September 2026 | 12 ms | 61 ms | 29 ms | 13 ms | 16 ms | 16 ms |
| 24 September 2026 | 13 ms | 61 ms | 26 ms | 33 ms | 15 ms | 16 ms |
| 25 September 2026 | 12 ms | 44 ms | 29 ms | 126 ms ▲ | 15 ms | 18 ms |
| 26 September 2026 | 12 ms | 46 ms | 29 ms | 108 ms ▲ | 19 ms | 16 ms |
| 27 September 2026 | 13 ms | 54 ms | 27 ms | 119 ms ▲ | 18 ms | 16 ms |
| 28 September 2026 | 13 ms | 46 ms | 28 ms | 163 ms ▲ | 18 ms | 17 ms |
| 29 September 2026 | 13 ms | 44 ms | 27 ms | 16 ms | 22 ms | 16 ms |
| 30 September 2026 | 12 ms | 52 ms | 29 ms | 13 ms | 18 ms | 14 ms |
| 1 October 2026 | 14 ms | 50 ms | 26 ms | 13 ms | 16 ms | 16 ms |
| 2 October 2026 | 12 ms | 52 ms | 28 ms | 14 ms | 34 ms | 16 ms |
| 3 October 2026 | 11 ms | 49 ms | 29 ms | 14 ms | 17 ms | 15 ms |
| 4 October 2026 | 15 ms | 46 ms | 28 ms | 17 ms | 31 ms | 17 ms |
| 5 October 2026 | 13 ms | 59 ms | 27 ms | 14 ms | 16 ms | 14 ms |
| 6 October 2026 | 12 ms | 67 ms | 28 ms | 14 ms | 18 ms | 15 ms |
| 7 October 2026 | 13 ms | 63 ms | 27 ms | 14 ms | 16 ms | 15 ms |
| 9 October 2026 | 15 ms | 56 ms | 27 ms | 15 ms | 17 ms | 19 ms |
| 10 October 2026 | 13 ms | 47 ms | 30 ms | 13 ms | 19 ms | 18 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 location | Typical response time | Slower response time | Requests |
|---|---|---|---|
| Amsterdam | 13 ms | 43 ms | 65 |
| San Francisco | 52 ms | 109 ms | 65 |
| Montreal | 28 ms | 248 ms | 65 |
| Singapore | 15 ms | 299 ms | 65 |
| Tokyo | 18 ms | 286 ms | 65 |
| Mumbai | 16 ms | 617 ms | 65 |
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.
No account required · Takes about 30 seconds.