亚马逊AWS近日正式推出S3 Files功能,允许用户将S3存储桶直接挂载为NFS共享。该功能基于EFS基础设施构建,旨在为对象存储提供类似文件系统的操作体验。
在针对该功能的压力测试中,核心产品的稳定性表现优异。测试人员通过在NFS挂载点与S3 API同时进行写入操作,发现系统在处理冲突时表现稳健,所有冲突均在两秒内完成一致性处理,未出现脑裂现象。
性能表现与潜在的技术缺陷
测试数据显示,该产品的同步速度呈现出三种不同的模式。文件系统的写入操作会在60秒的固定窗口内聚合后提交至S3;通过S3 API创建的新文件在NFS挂载点大约30秒后可见;而对于已缓存的现有文件,更新传播速度最快,仅需1.8秒。
然而,测试也揭示了该功能在处理边缘情况时的缺陷。当使用包含特殊字符(如末尾斜杠、双斜杠或表情符号)的“创意”键名创建对象时,部分对象在NFS挂载后会变得不可见。虽然AWS通过CloudWatch的ImportFailures指标记录了这些失败,但客户端(如ls命令)并不会报错,用户必须主动检查特定的监控指标才能发现数据丢失。
此外,删除操作的传播也存在延迟。测试发现,通过S3删除的文件在NFS挂载点上仍可读6至18秒不等。AWS工程师Warfield对此表示,这可能源于S3内部的删除通知延迟。
在定价方面,S3 Files采取了分层计费策略。用户只需为文件系统中活跃的“热数据”支付较高的存储和读写费用($0.30/GB存储),而其余大部分数据仍按S3的标准低价($0.023/GB)计费。对于超过128 KB的读取请求,系统会绕过文件系统直接从S3流式传输,不额外收取S3 Files费用。