docs(tasks): 修正整包上传失败结论——与体积无关,指向 Gitea 宿主机磁盘

原先记的「16.4 MB 边界」是误判(当时磁盘正被失败的请求逐步填满)。补做隔离
测试后:1 KB 与 100 KB 也失败且是**瞬间**失败(不是读完请求体才判断),三个仓库的
Release 资产接口同样失败,而创建 Release / PATCH 说明(纯 JSON)都正常,
其间还有 927 KB 的附件成功过一次 —— 因此不是体积上限,而是「附件文件落盘」这条
通道坏了,最可能是 Gitea 宿主机磁盘/临时目录几乎写满(返回 500 而非 413)。

IIS 那一关已确认放开生效(38,245,661 字节请求体被完整接收,不再 413)。
整包与 SHA256SUMS 已就绪,待宿主机空间问题解除后立即上传(不生成分卷)。

详见 opendance-web/deploy/proxy/README.md 第九节 9.1。
This commit is contained in:
2026-09-17 01:51:33 +08:00
parent e4b33a9c98
commit cbd5001e98
+29 -7
View File
@@ -64,19 +64,41 @@ SHA256SUMS.txt
## 实测记录(v0.2.0 发布时)
按文档 §5.7 硬性要求 4「若用 A 方案,先在发布文档里记录实测上限」记录。
| 上传体积 | 结果 | 说明 |
|--|--|--|
| 14 MB | 通过(HTTP 201) | 分卷时代的对照 |
| 30.5 MB / 40 MB | **HTTP 413** | IIS 默认 `maxAllowedContentLength` 未放开 |
| **38,245,661 B(本整包)** | 请求体被**完整接收**(115 s),但 **Gitea 返回 HTTP 500** | IIS 上限已放开,瓶颈转移到 Gitea 侧 |
| **38,245,661 B(本整包)** | 请求体被**完整接收**(115 s),随后 **Gitea 返回 HTTP 500** | IIS 上限已放开,瓶颈转移到 Gitea 侧 |
放开 IIS 之后同接口的边界测量:914 KB 与 16,372,427 B 通过;
16,400,000 B 及以上失败;**在若干次大包失败之后,连 100 KB 都会在 0.3 秒内 500** ——
更像**上传临时目录 / 数据盘写满**(Gitea 先写 `data/tmp`),而不是体积上限。
IIS 放开之后的隔离测试(同一 Release 资产上传接口):
→ 结论:**只放开 IIS 不足以放行 38 MB 整包**,还需要
①清理/扩容 Gitea 数据盘(尤其 `data/tmp`)②`app.ini` 的 `[attachment] MAX_SIZE`。
详见 `opendance-web/deploy/proxy/README.md` 第九节。
| 上传体积 | 结果 |
|--|--|
| 914 KB / 927 KB(web tar.gz) | 通过 |
| 16,372,427 B(android zip) | 通过 |
| 37 MB(本整包) | HTTP 500 |
| 24 / 21 / 18 / 16.5 / 16.4 MB | HTTP 500 |
| **100 KB / 1 KB** | **HTTP 500,0.14~0.3 秒** |
结论(与最初"体积上限"的猜测不同):
1. **与体积无关**:1 KB 也失败,而且是**瞬间**失败(不是读完请求体才判断),
所以不是 `MAX_SIZE` 这类体积限制;
2. **与仓库无关**:三个仓库的 Release 资产上传接口同样失败;
3. **其他写入通道正常**:创建 Release、PATCH Release 说明(纯 JSON)都成功;
4. **间歇性**:全部失败期间仍有 927 KB 的附件成功上传过一次。
→ 最可能是 **Gitea 宿主机磁盘(或上传临时目录所在分区/tmpfs)几乎写满**:
Gitea 先把请求体写进数据目录的临时目录再落库,空间不足时返回 500 而不是 413。
运维需按 `opendance-web/deploy/proxy/README.md` 第九节:
①`df -h` 查数据盘 / `/tmp` / `data/tmp` ②看 Gitea 日志里这次 500 的真实错误
③清理临时文件与旧附件释放空间 ④把 `[attachment] MAX_SIZE` 设为 256 并重启。
> 说明:本仓库 v0.1.0 的 `.part0/1/2` 分卷已被确认是交付缺陷(用户无法直接解压),
> 本仓库的打包脚本**不会**再生成分卷;整包与 `SHA256SUMS` 已就绪,
> 等上述空间问题解除后立即上传。
## 上传前检查清单