Cache

14 篇内容

工程实践Cloudflare Blog

Next.js applications, powered by Vite: introducing Vinext 1.0

文章介绍 Cloudflare 发布 Vinext 1.0,一个让 Next.js 应用基于 Vite 构建、并可移植到 Cloudflare Workers、Netlify、AWS Lambda 等平台的框架。作者说明 1.0 在 App Router 与 Pages Router 兼容性(客户关注特性覆盖超 99%)、页面生命周期、缓存、可观测性和 next/* 生态兼容上做了增强,并用数千测试与每日运行 Next.js 端到端测试套件来防止回归。核心工程创新是“缓存热身”:把构建期预渲染从构建机迁移到 Cloudflare 网络,先把新 Worker 版本部署到 0% 流量、预请求页面填充缓存,再安全提升上线。维护方式上,用 AI Agent 每日跟踪 Next.js canary 变更、复现差异并提交修复。文章偏产品发布,缺少量化性能数据与失败边界分析,对 use cache 等新特性仅有限支持。

推荐收录:文中“0% 流量版本预渲染再提升”的缓存热身实现路径,以及用 AI Agent 持续同步上游 Next.js fork 的自动化维护模型,是可迁移到边缘部署、构建与缓存优化的工程实践,适合做 Web 框架、边缘运行时和发布流程的读者。主要风险是文章以产品发布为主,缺乏量化性能数据、失败案例与兼容性缺口的细节,引用时需注意其厂商视角。

工程实践Cloudflare Blog

We just shipped support for the ugliest part of HTTP: Vary

文章介绍 Cloudflare 在 Cache Rules 中支持 HTTP Vary 的工程方案。Vary 让源站声明可能影响响应的请求头,但缓存无法判断差异是否真的影响响应,高基数、格式差异和 q 值会产生大量等价却无法复用的变体,降低缓存命中率。Cloudflare 把决策拆成两步:源站声明 Vary 字段,Cache Rule 决定每个字段用 normalize、passthrough 还是 bypass。normalize 对 Accept、Accept-Language、Accept-Encoding 做小写并按 q 值排序收敛到配置集合,passthrough 保留精确差异,bypass 绕过缓存,Vary:* 始终绕过。文章还说明缓存查找、变体存储和清除边界,并指出源站必须一致返回 Vary,方案仍需手工配置语言与格式。

推荐收录:文章并非单纯产品发布稿,而是围绕 HTTP Vary 的缓存语义、基数爆炸和变体归一化展开技术权衡,并给出 normalize、passthrough、bypass 的边界与 API 示例。对 CDN、缓存策略和 Web 性能工程师而言,其“源站声明差异、缓存判断差异是否重要”的设计思路和变体键管理方法可迁移到自建缓存或边缘场景;风险是带有 Cloudflare 产品语境,细节需结合文档验证。

工程实践Cloudflare Blog

Saving another 100TB of RAM with math (and Rust)

Cloudflare 复盘 Pingora Backend Router 中 pingora-ketama 一致哈希内存占用过高的问题。文章从一致哈希哈希环和权重路由讲起,用期望值、标准差和变异系数分析每台服务器哈希点数量对负载均衡精度的影响,并指出 32 位哈希在哈希点极多时会因碰撞抵消收益。工程上,作者将 Point 结构改为紧凑字节存储以规避 Rust 对齐开销,带来约 25% 内存下降;又依据推导把每节点哈希数降低 90%,且不造成明显误差。为避免切换哈希环导致缓存大面积失效,团队用新旧双环、按请求哈希稳定选择、数据中心分层灰度、可回滚和多项指标观测完成迁移。最终全球回收超过 100TB 内存,相关能力以 pingora-ketama v2 实验特性提供。其结论依赖连续哈希环近似和碰撞分析,落地时仍需按服务器数、哈希位宽和缓存失效代价验证。

推荐收录。文章给出从算法建模、Rust 内存布局到生产灰度迁移的完整闭环,并用全球回收 100TB RAM 的结果验证;其中一致哈希的统计推导、碰撞分析和双环迁移策略可直接迁移到负载均衡、缓存路由和基础设施性能优化场景。风险在于切换哈希环会引发缓存重分布,读者需结合自身哈希位宽、节点规模和灰度能力评估。

工程实践JuiceFS 工程技术

Keeping GPUs Fed: How Meta's AI Storage Architecture Aligns with JuiceFS

文章以 Meta 公开的 AI 存储蓝图为例,剖析其 Tectonic 块存储、BLOB 元数据层、内嵌 BlockClient 的富客户端 SDK、Owl 分布式缓存以及 L1/L2/L3 分级缓存和跨区域全局数据湖设计,说明其如何缓解 exabyte 规模下 GPU 因存储瓶颈而 stall 的问题。作者指出 Meta 最终收敛的核心原则——数据与元数据分离、富客户端直连数据面、多级缓存、跨区域复制——与 JuiceFS 从设计之初的三组件架构(对象存储、元数据引擎、客户端)高度一致,并给出组件对照表和缓存预热(prefetch 对比 juicefs warmup)等具体例子。文中引用 80% 平均缓存命中率、跨区域摄取时间下降 93%/97%、GPU 空转 20% 对应每小时数千万美元损失等数据支撑动机。适用边界在于内容主要基于公开资料做高层对比,缺少可复现的测量细节与失败边界分析,且带有明显的厂商推广立场。

推荐收录,因为它把 Meta 的 AI 存储架构拆成数据层、元数据层、富客户端和分级缓存几个可迁移的设计维度,并给出与 JuiceFS 的逐项对照表、L1/L2/L3 缓存分层以及 prefetch/warmup 预热机制等具体证据,便于读者理解 GPU 训练场景下存储系统的通用取舍。适合从事 AI 训练基础设施、分布式存储或缓存设计的工程师参考。主要风险是内容源自厂商博客且数据多为二手转述,缺少独立验证,阅读时需对产品对比结论保持审慎。

工程实践vLLM Blog

Tiered KV Cache Offloading in vLLM

文章系统介绍了 vLLM 中的分层 KV 缓存卸载框架,核心设计是所有 KV 数据经由主机内存流转:卸载时先异步拷贝到主机并立即释放加速器内存,再由主机异步写入文件系统、对象存储或远端 P2P 节点;重载时从主机缓存或次级层按序加载,实现即时分配与整合 I/O。该框架通过规范化内存布局保证跨节点、跨并行配置直接共享 KV 数据,并透明支持全注意力、滑动窗口、MLA、Mamba 等混合模型。文章还描述了可扩展的次级层接口、KV 事件与可观测性,并给出性能测试:并发会话超过 128 时,存储层卸载仍能维持高命中率,吞吐量比无卸载方案翻倍以上,但存储延迟使其无法达到峰值吞吐。

推荐收录,因为文章来自 vLLM 官方博客,深入剖析了分层 KV 缓存卸载的主机中心设计、规范化内存布局、次级层抽象与 KV 事件机制,并给出可复现的性能基准,展示了从 HBM 到 CPU 再到存储的完整数据流与权衡。对从事 LLM 推理服务、缓存系统或高性能基础设施的工程师而言,其设计原则(即时分配、整合 I/O、跨节点共享)可直接迁移,具有长期参考价值;风险是部分实现细节绑定 vLLM。

工程实践vLLM Blog

GLM 5.3 Optimizations, Part 1: Hybrid HiSparse Offloading in vLLM

文章介绍 vLLM 为 GLM 5.3 引入的 Hybrid HiSparse 混合稀疏卸载方案,面向长上下文、高并发的智能体推理场景。其核心是 KV 缓存默认常驻 GPU,仅在显存池紧张时按页逐步放弃驻留,并把索引器选中的 top-K 行放入与常驻页共享同一 HMA 池和 KV 张量的热缓冲区,让请求在部分驻留状态下继续解码,避免抢占重算或等待整段 KV 回迁。文中给出完整驻留、混合驻留、无驻留三种状态及内核解析流程,并说明与 P/D 分离、投机解码、前缀缓存等组件的兼容方式。在 8×H200 的 OpenHands 多轮负载上,该方案首次支持 100 万上下文并显著提升并发;但仅支持 NVIDIA GPU 与稀疏 MLA,热缓冲区需按投机 token 数调整,并发估算仅为规划参考。

推荐收录:文章给出真实系统约束下的完整工程方案,包括三种 KV 驻留状态的机制、热缓冲区与 HMA 池共享的设计取舍、基准测试数据以及可复现的启动命令与数据集脚本。对做 LLM 推理服务、KV 缓存管理和长上下文并发的工程师具有直接迁移价值;局限是仅支持 NVIDIA GPU 与稀疏 MLA 路径,且热缓冲区受投机解码约束,需结合自身配置验证。

工程实践Cloudflare Blog

How we could save petabytes of cache storage with Zstandard and Pingora

本文介绍了Cloudflare在缓存系统中引入Cache Transcoding的原型实验,核心思路是在Pingora代理中,对符合条件的可压缩文本响应在写入磁盘前用Zstandard(zstd)进行压缩,在缓存期间和跨数据中心传输时保持压缩状态,仅在向客户端返回时解压。通过这一设计,用少量CPU开销换取PB级缓存容量和跨数据中心带宽的显著节省。作者详细说明了zstd算法的选型理由、压缩级别与阈值(zstd level 3、4 KiB以上)的设定依据,以及仅压缩未预压缩的文本类型(HTML、JSON、CSS、JS等)的判定条件。实验基于超过一百万请求的测试,验证了正确性和性能,测得符合条件的资产平均压缩至原来的约三分之一。文章同时指出了边界,例如测试语料压缩比不代表全量网络内容,需更广泛语料验证,以及未来可探索更高压缩级别和直接透传压缩对象等方向。

推荐收录。文章展示了真实CDN环境中,以CPU换存储和带宽的系统级权衡分析,包含清晰的架构设计、协议细节、测试方法和参数调优思路。对从事缓存系统、代理网关、存储优化的读者尤其有参考价值,其压缩对象筛选和收益-成本建模方法可迁移到其他大规模分布式系统。

工程实践Fzakaria Blog

nixpkgs-multiverse: fast mode

文章介绍 nixpkgs-multiverse 项目的 fast mode,它让用户无需下载和求值完整 Nixpkgs 树即可直接获取任意历史版本的 store path。核心方法是利用 Nix 字符串的 context 机制,通过 builtins.appendContext 手动附加 path 上下文,并使用 mkFakeDerivation 技巧构造不依赖 --impure 的假派生,使 Nix CLI 仅从缓存便能实例化路径。作者解释了索引的构造方式:将 nixos-unstable 每期发布的 store-paths.xz 清单与 multiverse 的 (attribute, version) 索引 join 起来,得到每个版本的精确 store path。文章还讨论了边界,如 fake derivation 没有 drvPath 无法构建,需要 .out 后缀或通过 .eval 获取真实派生来支持 override 和 nix develop,且方案依赖 cache.nixos.org 长期保留所有历史路径(普查显示 271,187 个路径仍存活)。最后展示了配套的 mvs 命令行工具,可查询大小、反向依赖和识别 store path。

本文深入揭示了 Nix 求值与缓存的内部机制,提供了跳过求值直接引用 store path 的可行方案,并清楚说明了其局限。对于 Nix 重度用户和包管理工具开发者,文中的 context 操纵技巧与索引设计具有直接借鉴价值,适合作为 Nix 生态进阶参考收录。

工程实践LinkedIn Engineering - Scalability

Accelerating LinkedIn’s My Network tab by reducing latency and...

文章复盘了LinkedIn My Network页面加载缓慢和内容跳动的问题,旧架构中移动端与Web端并行请求多个API,独立渲染不同推荐区块,导致首屏等待近两秒并出现UI闪烁。作者团队将多端点统一为单一API并引入分页,把无限滚动的PYMK拆成多个小cohort,预构建后放入缓存,后续按页获取;同时采用渲染模型,由API定义通用banner和内容容器,减少客户端业务逻辑。优化后P90延迟下降43%,成本节省七位数,Web端LCP和FID显著改善,会员参与度提升。文章未深入讨论缓存一致性、失败处理和更复杂个性化场景,但提供了可工程迁移的架构权衡。

推荐收录,因为文章给出了完整的性能优化工程案例:从多端点并行到统一API、分页和预构建缓存,再通过渲染模型简化客户端,并用量化指标验证收益。适合后端、前端及系统设计工程师参考,其中缓存设计、API收敛和渲染模型解耦的思路可直接迁移到类似推荐流或内容聚合页面的优化中。

工程实践Netflix TechBlog

How and Why Netflix Built a Real-Time Distributed Graph: Part 3 — Querying the graph with gRPC…

本文详细介绍了Netflix实时分布式图(RDG)的查询服务层设计,阐述如何在高吞吐、低延迟要求下高效查询包含数十亿节点和边的图。文章首先分析了浅宽与深窄两类查询场景的挑战,随后说明广度优先遍历、异步优先架构、选择性缓存等关键设计决策及其取舍。接着以具体查询为例,逐步展示请求解析、存储读取、层次化遍历、并行执行、智能过滤和缓存等环节的实现与优化。最后给出系统性能指标(P50/P99延迟、缓存命中率)和经验总结,强调前沿思维、尽早过滤、有界并行和缓存策略等通用原则。其方法适用于高并发、IO密集型的分布式图查询系统,但一致性模型为最终一致,且依赖特定内部存储。

本文是Netflix技术博客的深度工程案例,展示了在真实约束下构建高性能图查询层的完整思考过程,包含具体的设计权衡、量化效果和可迁移原则。适合分布式系统工程师、架构师以及需要处理图数据查询的开发者参考。文中的广度优先遍历策略、异步执行模型和智能缓存方法可直接应用于类似的大规模在线服务场景,有效降低延迟和资源消耗。

技术文章Kubernetes Blog

How the controller-runtime Cache Actually Works, and Why Your Controller Does Not Crash the API Server

本文深入剖析了 controller-runtime 缓存的内部机制,解释了为何控制器不会压垮 API 服务器。核心原理是:r.Get 和 r.List 并非直接查询 API 服务器,而是读取由 Reflector 通过 list+watch 构建、存储于 Indexer 的本地内存副本;写操作则直接发往 API 服务器,并通过 watch 异步反馈到缓存。文章详细拆解了 DeltaFIFO 的有序分组与去重、workqueue 的 key 级合并、索引器如何提供类 SQL 的快速查询、选择性缓存及 Transform 等内存优化策略,并列举了读后写期待、共享对象突变、resync 误解等常见误区。全文基于 client-go 原语,提供了从启动阶段到生产调优的完整心智模型,适用于已经编写 Go 控制器但希望深入理解其行为以避免生产意外的工程师。

推荐收录。文章深入揭示了 controller-runtime 缓存的底层模型和常见误区,为 Kubernetes 控制器开发者提供了可迁移的内部视角和防错指南。内容覆盖了从原理、设计取舍到实战优化的完整链路,长期计算参考价值显著,尤其适合需要在高负载集群下保障控制器稳定性和性能的工程团队。

工程实践Cloudflare Blog

Improving Smart Tiered Cache for Public Cloud Regions

文章详细说明了 Cloudflare Smart Tiered Cache 在公共云 anycast 源站上遇到的挑战:anycast IP 导致延迟探测无法锁定唯一最优上层数据中心,可能产生跨洲回源和缓存效率下降。解决方案是引入云区域提示,用户指定源站所在云区域后,系统利用各云厂商的 IP 范围文件和持续延迟探测为每个区域赋予主上层和备用上层,并在探测数据不足时回退到地理近似。文章介绍了 anycast 检测原理、区域到上层映射的投票机制,以及通过控制台、API 和 Terraform 进行配置的方式。该功能目前支持 AWS、GCP、Azure 和 Oracle Cloud,旨在提升缓存命中率、降低延迟,但需手动提供提示且仅适用于已支持的云提供商,边界清晰。

推荐收录,因为文章不是简单的功能通告,而是深入剖析了 Smart Tiered Cache 在 anycast 公共云环境中的局限、解决方案的技术细节和配置方法。适合负责 CDN、边缘网络、缓存策略或基础设施性能优化的工程师参考,其中的问题分析框架和自动化映射思路可迁移到类似分布式系统的网络拓扑优化场景。

工程实践Cloudflare Blog

Your Worker can now have its own cache in front of it

这篇文章介绍了 Cloudflare Workers Cache:一种位于 Worker 前面的分层缓存,开启后可直接命中缓存而不执行 Worker,从而减少延迟并避免 CPU 计费。作者说明它完全由 HTTP 语义驱动,主要通过 Cache-Control、stale-while-revalidate、Vary、Cache-Tag 和程序化 purge 来控制缓存行为,而不是依赖 zone 级规则。文章进一步强调这是“Worker 自己的缓存”而非站点缓存,缓存会跟随 Worker、preview、workers.dev 和多租户场景,并支持按 ctx.props 构造多租户安全的 cache key。对于复杂应用,它还能插在多个 entrypoint 之间,让认证、归一化、重度计算和数据层分别决定是否缓存,组合出“近用户 + 近数据”的执行路径。文末也指出一些边界:认证请求需避免自动 bypass、需要控制 Vary 维度膨胀,且部分与 Smart Placement 的协同和响应体大小限制仍在演进中。

收录理由很明确:文章给出了可直接落地的缓存架构、HTTP 控制面设计、按入口点组合缓存的方式,以及多租户安全与失效策略的具体实现。适合做边缘计算、SSR 性能优化、平台架构和缓存设计的长期参考,尤其对使用 Workers、服务绑定或多入口应用的工程师有迁移价值。

工程实践知乎 - 腾讯技术工程

腾讯混元AI Infra如何优化Hy3 Preview:一次大模型推理性能提升的技术拆解

本文拆解了腾讯混元 Hy3 preview 在 Hopper 96G 上的推理全栈优化,围绕算子优化与融合、并行策略、多级缓存、MTP 异步调度、量化与稀疏五个方向展开。作者针对 Attention、MoE、Router、采样、AllReduce 等关键路径做了动态调度、双 BF16 GEMM、FusedMoE、通算融合和算子级融合,显著减少 HBM 往返与 Kernel 启动开销。系统层面又通过 TPSP、DP+EP、三级缓存和按最大接收长度预组装输入,缓解长上下文、MoE 与 MTP 带来的通信、显存和 CPU 气泡问题。文中给出了真实请求集与多组实测指标,如 TTFT 降幅约 24.5%~29.9%、端到端吞吐提升 15.7%~44.7%、量化后吞吐提升 28%+、稀疏注意力在 128K 上将 Prefill 延迟降低 3.6 倍。整体方法高度依赖 Hopper 架构、自研 kernel 与腾讯内部基础设施,迁移到其他模型或硬件时需要重新验证边界与收益。

收录,因为文章给出了真实请求集、Hopper 96G 和 W8A8C8 约束下的系统性优化路径,并明确量化了 TTFT、吞吐和单算子加速收益。适合做大模型推理、GPU Kernel 融合、并行与缓存设计的参考,但方案强依赖特定硬件与自研栈,迁移时需重做适配验证。