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 50 ms.
- Fastest
- 13 ms
- Amsterdam
- Slowest
- 50 ms
- San Francisco
- Successful requests
- 100%
- 6 locations
Response time around the world
Amsterdam
13 msTokyo
16 msMumbai
16 msSingapore
17 msMontreal
27 msSan 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.
Singapore128 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 locationsHide the comparison
Click a city to see its stage-by-stage breakdown.
Amsterdam13 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
San Francisco47 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
Montreal28 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
Singapore128 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
Tokyo16 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
Mumbai18 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
A dot marks a day well above that location’s usual level.
Show the numbers
| Day | Amsterdam | San Francisco | Montreal | Singapore | Tokyo | Mumbai |
|---|---|---|---|---|---|---|
| 9 September 2026 | 11 ms | 97 ms | 27 ms | 13 ms | 18 ms | 16 ms |
| 10 September 2026 | 12 ms | 141 ms ▲ | 30 ms | 15 ms | 16 ms | 14 ms |
| 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 |
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 location | Typical response time | Slower response time | Requests |
|---|---|---|---|
| Amsterdam | 13 ms | 42 ms | 20 |
| San Francisco | 50 ms | 102 ms | 20 |
| Montreal | 27 ms | 264 ms | 20 |
| Singapore | 17 ms | 346 ms | 20 |
| Tokyo | 16 ms | 241 ms | 20 |
| Mumbai | 16 ms | 615 ms | 20 |
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.
No account required · Takes about 30 seconds.