欢迎user
无所不在却又至关重要的小文件
文件可以说在我们的生活中无处不在,个人照片、小视频、书籍资料、表格、PPT,每天我们都被它们包围着。听说每个身经百战的ITer电脑里都拥有数十万的文件,不知道你的有多少呢?我的答案是:
个人电脑尚且有这么多的文件,可想而知一个大型数据中心或企业单位有多少的零散小文件需要存储。
拿我们熟悉的医院举例,一次核磁共振检查会产生几百个影像文件,一个大型三甲医院高峰期每天会接待上百病人,医生也会同时调阅这些影像进行病情诊断,文件调取速度直接影响了医生的工作效率,甚至会让病人拿到诊断报告的时间相差数天,可谓是“生死攸关”。
再比如城市卡口抓拍,一个区域上万个摄像头每天产生的图片就有上亿,每秒会写入数千个文件到后端平台,这些图片给罪犯轨迹分析、打击拐卖儿童提供了至关重要的原素材,写入性能不足的话可能会导致关键时间的监控数据丢失,造成巨大影响。
小文件性能为何会成为NAS存储的难题
我们都知道文件系统在创建、读写某个文件时,会同时修改或访问文件的元数据,这些元数据和文件是一对一的,保存着文件特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等,如下图举例所示:
而小文件之所以性能会经常出现瓶颈,原因就在于每次文件创建、修改都会伴随着一次元数据的操作,相比GB级别的大文件,KB级小文件的元数据读写频率会更高。以一部高清电影和一张图片来比较,同样读写带宽的情况下,后者的元数据操作次数是前者的上万倍。
看H3C UniStor X10000 G3
如何弹指间“摆平”小文件性能
既然小文件的瓶颈主要在于元数据,那么如果要“摆平”它们,当然也要对症下药,从元数据的性能下手,总结来说分为四大步,即“团结就是力量、硬盘鸟枪换炮、看文件下菜碟、目录一条龙读取”,下面我们来逐一分解:
01 团结就是力量:针对传统单MDS的方式,X10000充分利用分布式对称架构的优势,采用MDS多活并发的方式,提升系统整体的读写性能,而且更具扩展性。俗话说众人拾柴火焰高,多个MDS灵活扩展相比固定MDS的方式当然性能高很多啦!
02 硬盘鸟枪换炮:传统方式下,元数据和文件数据是存储在一起的,一般会采用低成本的7200转机械硬盘,在海量小文件的场景下,元数据的读写会成为明显瓶颈。X10000则支持元数据分离部署,可以将元数据单独部署在SSD盘,这样会大幅度提升元数据的读写效率,降低时延,实现真正的“鸟枪换炮”,保证超猛的火力!
03看文件下菜碟:X10000支持SSD盘和机械硬盘的分层存储,提升热点数据的读写效率。为了保证混合场景下的小文件性能,X10000专门设计了大小写机制,大文件优先写入机械硬盘的慢池,不占用SSD的空间,实现看文件下菜碟,提升小文件读写性能。
04 目录一条龙读取:在海量小文件的场景下,很多时候都是一个目录内的小文件批量读取,这种规律性也能够带来性能优化的空间。X10000可以选择性开启目录预取,根据数据读取的规律,提前把文件载入内存或SSD热点缓存,实现大量文件一条龙服务。
真金不怕火炼
X10000真正实现性能多面手
通过多年的技术积累和研发团队的持续攻关,X10000实现了小文件性能相比传统存储方式的飞跃,并经受住了运营商集采和第三方权威机构严苛的性能测试。
目前,X10000在数百KB小文件场景下的单个节点并发可以超过1000个/s,每个节点可以满足数十个医生同时调取影像数据、上千张卡口图片并发写入的需求,结合1.4GB/s的单节点大文件极限带宽,可谓是性能的多面手、用户的好伙伴!