Ollama 下载模型 pull 速度很慢的排查和解决办法

当 ollama pull 下载速度很慢、频繁超时或中断时,可以先确认真实下载链路,再针对跳转后的对象存储域名做网络排查。

ollama pull model_name:tag 在有些地区下载速度会很慢,而且过程并不稳定。

如果你遇到的是大模型下载到一半反复中断、报错 TLS handshake timeoutunexpected EOF,那么问题很可能不只是 registry.ollama.ai 本身,而是后续跳转到的实际下载链路。

这篇文章记录一次简单直接的排查思路:先拿到模型文件的真实下载地址,再确认最终流量落到哪里,最后只针对关键域名做网络优化。

获取模型文件的下载地址

可以借助下面这个项目,把 Ollama 模型对应的 manifest 和 blob 下载地址直接提取出来:

https://github.com/Gholamrezadar/ollama-direct-downloader

gemma4:latest 为例,可以提取出类似下面这些链接。

Manifest 地址

1
https://registry.ollama.ai/v2/library/gemma4/manifests/latest

Blob 地址

1
2
3
4
https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11
https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2
https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:56380ca2ab89f1f68c283f4d50863c0bcab52ae3f1b9a88e4ab5617b176f71a3

如果你只是想快速验证,也可以直接用 curl 下载 manifest 和 blob:

1
2
3
4
curl -L "https://registry.ollama.ai/v2/library/gemma4/manifests/latest" -o "latest"
curl -L "https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11" -o "sha256-f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11"
curl -L "https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a" -o "sha256-4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a"
curl -L "https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2" -o "sha256-7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2"

跳转后的真实下载地址

尝试用 wget 下载其中一个 blob,会发现请求并不是一直停留在 registry.ollama.ai,而是会继续跳转到一个 Cloudflare R2 对象存储地址:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
wget https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
--2026-04-09 09:22:04--  https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
Resolving registry.ollama.ai (registry.ollama.ai)... 104.21.75.227, 172.67.182.229, 2606:4700:3034::ac43:b6e5, ...
Connecting to registry.ollama.ai (registry.ollama.ai)|104.21.75.227|:443... connected.
HTTP request sent, awaiting response... 307 Temporary Redirect
Location: https://dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com/ollama/docker/registry/v2/blobs/sha256/4c/4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a/data?... [following]
--2026-04-09 09:22:05--  https://dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com/ollama/docker/registry/v2/blobs/sha256/4c/4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a/data?...
Resolving dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com (dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com)... 172.64.66.1, 2606:4700:2ff9::1
Connecting to dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com|172.64.66.1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9608338848 (8.9G) [application/octet-stream]

从日志里可以看到几个关键信息:

  • registry.ollama.ai 返回了 307 Temporary Redirect
  • 最终下载地址落在 *.r2.cloudflarestorage.com
  • 真正承载大文件传输的,实际上是后面的对象存储域名

这一步很重要,因为它说明如果你的代理或分流规则只覆盖了 registry.ollama.ai,但没有处理 *.r2.cloudflarestorage.com,那下载仍然可能很慢,甚至反复中断。

调整网络设置

确认真实下载链路之后,排查方向就会清晰很多。

如果你正在使用代理、分流或自定义 DNS,建议优先检查下面几件事:

  • registry.ollama.ai*.r2.cloudflarestorage.com 是否走了同一条稳定线路
  • 代理规则是否只覆盖了前者,而漏掉了后者
  • 当前出口是否适合持续下载数 GB 到数十 GB 的大文件

这类问题的关键并不是“能不能打开官网”,而是“跳转后的对象存储链路是否稳定、是否能长时间持续传输”。很多时候,真正需要优化的是 Cloudflare R2 这一层,而不是前面的 registry 域名。

调整前后的对比

下面是一次实际下载 gemma4:31b-it-q8_0 时的表现。

调整前,下载速度较慢,而且会在中途报错:

1
2
3
4
PS C:\Users\knightli> ollama run gemma4:31b-it-q8_0
pulling manifest
pulling a0feadb736f5:  38% ▕██████████████████████                                    ▏  12 GB/ 33 GB  1.2 MB/s   4h40m
Error: max retries exceeded: unexpected EOF

调整后,再次下载同一个模型时,速度和稳定性都有明显改善:

1
2
3
PS C:\Users\knightli> ollama run gemma4:31b-it-q8_0
pulling manifest
pulling a0feadb736f5:  46% ▕████████████████████████████████████████████████████████████████▏ 15 GB/ 33 GB  8.5 MB/s  35m23s

这并不意味着所有网络环境都能得到同样结果,但至少说明了一点:瓶颈很可能不在 Ollama 客户端本身,而在实际的大文件下载链路。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计