容器 E07:镜像按需读取是否真的缩短首个请求
两类成本都算入请求链
固定一个支持按需读取的 snapshotter 与镜像格式,记录启动前实际传输字节、读取文件时额外传输字节、首个请求的耗时、后续请求命中缓存情况。stargz-snapshotter 文档描述了远程按需读取与 eStargz 相关机制;具体实现是否选用了该插件、如何缓存,以及失败后如何回退,必须按实际节点版本和源码路径核对。正例预先设计“启动后只访问镜像中少数文件”的探针;边界例第一次访问未预取的大文件或在受控实验网络中断开远端,可能使首请求变慢/失败。断网仅作用于独立 VM 内的自建网络。
实验矩阵与恢复、统一探针源码允许对照常规 snapshotter;云端没有 containerd/snapshotter、没有真正的镜像按需网络路径,下载字节、缺页、首请求数据一律 `NOT_RUN`。不能把 10 的本地 OCI 布局静态校验替代远程读取实验。| 现象 | 要保存 | 判断边界 |
|---|---|---|
| create 更快 | 进程首响应与传输字节 | 首请求未必更快 |
| 第二轮更快 | 缓存/远端状态 | 不推广冷启动 |
| 断网失败 | 访问文件与对象位置 | 不是必然镜像已损坏 |
练习
- 预测只访问少数文件与首次访问一个大文件,两种工作负载对按需读取收益有什么差异,重复运行并报原始下载字节和失败数。
- 预测缓存热时断开自建远端 registry 会否影响后续请求,先界定哪些字节已经在本地,再记录请求与清理。
系列总目录:从进程隔离到运行时与编排。
参考资料
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.




