OkFile 文件上传性能实测:10MB、100MB、500MB 三组样本对比
测试背景
这次测试的目标很直接:观察 OkFile 在不同文件体积下的上传耗时和吞吐表现,给后续脚本接入、自动化发布和大文件处理提供一个可复用的基线。
测试围绕三个体积档位展开:
- 10MB
- 100MB
- 500MB
测试环境
- 操作系统:Windows
- Python:3.13.12
- 测试方式:通过 okfile_cli 与内部上传接口执行真实上传
- 测试对象:单文件上传链路
测试结果
| 文件 | 大小 | 耗时 | 吞吐 |
|---|---|---|---|
| okfile_perf_10mb.bin | 10.0 MiB | 7.80 s | 1.282 MiB/s |
| okfile_perf_100mb.bin | 100.0 MiB | 31.751 s | 3.150 MiB/s |
| okfile_perf_500mb.bin | 500.0 MiB | 157.797 s | 3.169 MiB/s |
结果解读
1. 小文件阶段存在更明显的固定开销
10MB 文件的总耗时是 7.80 秒,换算后的平均吞吐约为 1.282 MiB/s,明显低于 100MB 和 500MB 样本。这说明固定开销在小文件场景中的占比更高。
2. 100MB 和 500MB 已进入稳定区间
100MB 的平均吞吐为 3.150 MiB/s,500MB 为 3.169 MiB/s,两者已经非常接近,说明上传链路在大文件阶段进入了稳定传输区间。
3. 大文件上传没有出现异常退化
500MB 文件总耗时约 157.8 秒,但吞吐与 100MB 基本持平,说明本轮测试中没有出现明显的后段退化。
对接入侧的建议
- 小文件不要只看单次耗时,固定开销会明显影响平均吞吐。
- 100MB 以上文件可以按约 3.1 MiB/s 的量级估算上传时间。
- 批量上传任务建议把结果写入 JSON 或日志文件,便于审计与重放。
- 大文件场景建议保留进度落盘和失败重试能力。
测试方法说明
- 10MB 样本通过 CLI 执行上传,并从日志中提取完成时间。
- 100MB、500MB 样本通过 Python 脚本直接调用上传链路,执行完成后把结果落盘为 JSON。
- 本次数据全部来自真实上传,不是本地模拟。
结论
在当前环境下,OkFile 可以稳定完成 10MB、100MB、500MB 三个档位的真实上传。100MB 与 500MB 的吞吐已经接近稳定平台,说明大文件场景具备可预期的持续传输能力。