性能、成本与 POSIX 兼容性比较: JuiceFS vs EFS vs FSx for Lustre
JuiceFS 是一款为云环境设计的分布式高性能文件系统。Amazon EFS 易于使用且可伸缩,适用于多种应用。Amazon FSx for Lustre 则是面向处理快速和大规模数据工作负载的高性能文件系统。
在本文中,我们将通过一系列测试,来评估这三种主流文件系统的性能与成本表现,帮助用户快速了解这些产品。
01 测试环境
测试采用了AWS 的 c5.4xlarge 实例(16核,32GB 内存,10Gbps 网络带宽),涵盖了AWS EFS、JuiceFS 云服务(位于美西2区),以及 AWS FSx for Lustre(1.2 TB、1,200 MB/s配置)。
JuiceFS 客户端测试:配置了 4 个线程,同时测试大文件(1,024 MiB 文件,每块1 MiB 读/写)和小文件(128 KiB 文件,100 个文件读/写)。
02 性能测试与用例
性能测试主要用于评估大文件和小文件的顺序读写性能:
- 大文件顺序读写:对于需要持续吞吐量的应用非常关键,例如大语言模型(LLM)的数据处理和训练、基因测序、大数据分析、视频流和数据备份;
- 小文件顺序读写:模拟了在计算机视觉数据处理和模型训练、媒体处理、科学计算等领域常见的工作负载。
下表显示了吞吐量的测试结果(单位 MiB/s):
测试场景 | EFS | JuiceFS | FSx for Lustre |
---|---|---|---|
写大文件 | 475 | 1,116 | 594 |
读大文件 | 568 | 1,016 | 590 |
写小文件 | 29 | 8 | 297 |
读小文件 | 104 | 160 | 274 |
- 大文件:JuiceFS 在读写大文件方面是最快的。
- 小文件:FSx for Lustre 在读写小文件方面表现最佳。
挂载 JuiceFS 的参数如下:
- buffer-size=1024
- max-upload=200
- max-download=200
03 费用比较
下表列出了这些产品的收费标准(单位 $):
费用项目 | EFS | JuiceFS | FSx for Lustre |
---|---|---|---|
存储 | 0.30/GB-month | 0.02/GB-month + S3 0.023/GB-month | 0.60/GB-month |
写访问 | 0.06/GB 0.10/GB cross AZ | Free same region + S3 API $0.005/1,000 requests | Free same AZ 0.10/GB cross AZ |
读访问 | 0.03/GB 0.10/GB cross AZ | Free same region + S3 API $0.0004/1,000 requests | Free same AZ0.10/GB cross AZ |
读小文件 | 104 | 160 | 274 |
- AWS EFS 根据存储和访问量收费,对于大规模使用来说相对成本较高;
- 使用 JuiceFS 产生的费用,包括 S3 和 JuiceFS 两部分,但仍然是一个成本较低方案,尤其是当数据在同一区域内访问时,成本效益尤为突出;
- FSx for Lustre 提供了高性能,但其存储成本最高。
需要特别注意的是一项隐藏费用,跨可用区(AZ)数据传输费用。对于 AWS EFS 和FSx for Lustre 来说,跨不同可用区的数据传输可能会带来额外的成本。而 JuiceFS 利用了 S3 存储在同一地区内的可免费访问的特性,从而减少了这部分的费用。
04 POSIX 兼容性对比
在 AI 应用中,数据处理流程较为复杂,POSIX 兼容性成为团队考量的重要因素。因此,本次比较的结尾部分将提供这三种文件系统在 POSIX 兼容性方面的详细对比。在我们的另一篇博客文章中,对比了云上七款文件系统的 POSIX 兼容性,其中 JuiceFS 通过了全部 8832 项测试,EFS 未通过 1895 项测试,失败比例为 21%,具体测试项目可以参考这篇博客。
之前的测试未包含 FSx for Lustre, 我们按照上述博客中的测试方法,对 FSx for Lustre 的 POSIX 兼容性再次进行了测试,FSX for Lustre 有 16 项测试未通过, 其中 chown 失败 14 项,utimensat 失败 2 项。
此外,JuiceFS 支持 POSIX ACL、回收站、子目录挂载、子目录配额、数据透明压缩、数据在传输和静态时的加密、跨区域复制等功能。
05 小结
JuiceFS在顺序读/写场景中展现出了显著的性能优势,超越了AWS EFS,与 AWS FSx for Lustre 结果相当,但成本更低提供了。而针对随机读/写操作,通常网络文件系统是相对低效的,在这种情况下,为了获得最佳性能,建议使用高级集群技术,将操作集中在本地,同时将远程过程进行批量处理。
总体而言, JuiceFS 提供了兼顾性能与成本优势的方案,在需要大量顺序读/写工作负载的场景,JuiceFS 是一个不错的选择。
希望这篇内容能够对你有一些帮助,如果有其他疑问欢迎加入 JuiceFS 社区与大家共同交流。
性能、成本与 POSIX 兼容性比较: JuiceFS vs EFS vs FSx for Lustre的更多相关文章
- pjd-fstest The test suite checks POSIX compliance - 测试文件系统posix 接口兼容性
pjd-fstest: 参考网址:https://www.tuxera.com/community/posix-test-suite/ fstest是一套简化版的文件系统POSIX兼容性测试套件,它可 ...
- JuiceFS V1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过
各位社区的伙伴, JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化. 这个优化需求来自于某个社区重度用户,这个用户在将亿级数 ...
- 元数据性能大比拼:HDFS vs S3 vs JuiceFS
元数据是存储系统的核心大脑,元数据性能对整个大数据平台的性能和扩展能力至关重要.尤其在处理海量文件的时候.在平台任务创建.运行和结束提交阶段,会存在大量的元数据 create,open,rename ...
- JuiceFS 在理想汽车的使用和展望
理想汽车是中国新能源汽车制造商,设计.研发.制造和销售豪华智能电动汽车,于 2015 年 7 月创立,总部位于北京,已投产的自有生产基地位于江苏常州,通过产品创新及技术研发,为家庭用户提供安全及便捷的 ...
- 理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考
理想汽车在 Hadoop 时代的技术架构 首先简单回顾下大数据技术的发展,基于我个人的理解,将大数据的发展分了4个时期: 第一个时期: 2006 年到 2008 年.2008 年左右,Hadoop 成 ...
- 乾象投资:基于JuiceFS 构建云上量化投研平台
背景 乾象投资 Metabit Trading 成立于2018年,是一家以人工智能为核心的科技型量化投资公司.核心成员毕业于 Stanford.CMU.清北等高校.目前,管理规模已突破 30 亿元人民 ...
- AI场景存储优化:云知声超算平台基于 JuiceFS 的存储实践
云知声是一家专注于语音及语言处理的技术公司.Atlas 超级计算平台是云知声的计算底层基础架构,为云知声在 AI 各个领域(如语音.自然语言处理.视觉等)的模型迭代提供训练加速等基础计算能力.Atla ...
- 浅析 SeaweedFS 与 JuiceFS 架构异同
SeaweedFS 是一款高效的分布式文件存储系统,最早的设计原型参考了 Facebook 的 Haystack,具有快速读写小数据块的能力.本文将通过对比 SeaweedFS 与 JuiceFS 在 ...
- 如何借助分布式存储 JuiceFS 加速 AI 模型训练
传统的机器学习模型,数据集比较小,模型的算法也比较简单,使用单机存储,或者本地硬盘就足够了,像 JuiceFS 这样的分布式存储并不是必需品. 随着近几年深度学习的蓬勃发展,越来越多的团队开始遇到了单 ...
- JuiceFS v0.17 发布,通过 1270 项 LTP 测试!
小伙伴们大家好,JuiceFS v0.17 在国庆小长假来临之际如期发布了!这是我们在 2021 年秋季推出的第二个版本,让我们直奔主题,看看都有哪些新变化吧. 本次更新累计 80+ 提交,共有 9 ...
随机推荐
- SpringCloud学习篇
什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生 ...
- python配置国内pypi镜像源操作步骤
使用pip config命令设置默认镜像源,使用国内的源,提高安装速度 操作步骤 临时方式pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/si ...
- vue3+elementplus 去除小数点后多余的0公用函数
vue3+elementplus 去除小数点后多余的0公用函数 export function removeTrailingZeros(value) { // 尝试将值转换为数字 const nume ...
- [oeasy]python0079_控制序列_光标位置设置_ESC_逃逸字符_CSI
光标位置 回忆上次内容 上次我们研究的比较杂 类型转化 进制转化 捕获异常 版本控制 生成帮助文档 变量的常用类型 变量的生命周期控制 数据类型主要研究了两个 字符串 str 整型数字 int ...
- 第九节 JMeter基础-高级登录【接口关联-鉴权】
声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改. 背景:电商的功能:登录.加入购物车.提交订单.问题:谁把什么商品加入了购物车?这时需要把上一个接口的响应数据(登录成功后返回 ...
- 在Python中doc转docx,xls转xlsx,ppt转pptx(Windows)
在Python中doc转docx,xls转xlsx,ppt转pptx(Windows) 说明: 首次发表日期:2024-07-18 参考pypi包: doc2docx 缘起 我们一般使用Python开 ...
- C#/.NET这些实用的编程技巧你都会了吗?
DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.N ...
- 靶机练习: hacksudo---Thor
靶机:hacksudo---Thor 准备工作 靶机地址: http://download.vulnhub.com/hacksudo/hacksudo---Thor.zip MD5 校验:d12168 ...
- java面试一日一题:讲下mysql中的锁
问题:请讲下在mysql中的锁 分析:该问题主要考察对中锁的掌握,主要考察的是读.写锁.行锁.间隙锁.next-key,其他还有表锁.意向锁 回答要点: 主要从以下几点去考虑, 1.mysql中的锁有 ...
- 【Java】Reflection 反射机制 02获取类的一切
先创建一个可演示的类 注解类 package cn.dai.Reflection.demo; import java.lang.annotation.ElementType; import java. ...