对于许多客户而言,Alluxio 通常被用作云对象存储之上的分布式、兼容 S3 的读缓存,并通过穿透写语义确保数据持久性。我们曾在《 Alluxio + S3:面向低延迟、语义丰富的分层架构》一文中详细探讨过其在读密集型负载下的性能与架构设计。
真实案例:处理大规模突发性PUT请求
在对象存储前端部署透明写缓存
图1:Alluxio S3 写缓存改变了写入和写后即读的延迟模型。应用程序可继续使用标准的 S3 API。PUT 请求在由本地 NVMe 承载的 Alluxio worker 上完成,数据可立即读取,向对象存储的持久化操作则在后台异步进行。
基准测试
- 1 台 Alluxio Worker 节点:i3en.metal
- 1 台 Warp 客户端:c5n.metal
测试 1:PUT延迟(10KB )
图2:并发场景下小对象PUT延迟降低7-8倍
测试 2:写后即读的延迟(10KB)
图3:并发场景下,写后即读的速度提升了10倍
测试 3:通过采用多worker来扩展写入和写后即读的吞吐量

该图展示了随着客户端并发数增加,写入吞吐量(PUT 10 KB)和写后即读吞吐量(以 IOPS 为单位)的变化趋势
对于写入和写后即读两种工作负载,在相同并发条件下, 3 个 worker 始终能提供约 3 倍于单个 worker 的总吞吐量。吞吐量随着 worker 数量呈线性增长,直至受限于客户端并发能力或后台持久化存储的容量。
至关重要的是,由于写入操作由 Alluxio 层吸收并暂存,这种扩展的实现避免了将额外的突发负载直接推送到对象存储。
基准测试结果摘要
最终结论
Alluxio 写缓存与直接写 S3 对比






