打开购物软件,搜索早已经“种草”的商品并下单,这是我们再也习惯不过的生活方式。但在轻松愉快的购物旅程的背后,海量小文件的读写,成为存储系统“难题”。为了帮助电商、交通、广电等行业化解海量小文件的存储压力,浪潮AS13000 进行了广泛创新,能够提升30%以上的小文件读写性能,将业务处理速度增加数倍。
面对千亿量级的小文件,存储系统压力山大
所谓小文件,指的是存储占用空间相对较小的文件,一般来说低于64MB的文件就可以被认定为小文件,而大量的小文件大小则在几KB到几十KB之间。在云计算、大数据业务中,文本、图片、音乐等是典型的小文件应用场景。
随着数字化创新的加速,组织内部的数据呈现出指数级增长的趋势,特别是小文件更是随着业务增长到一个巨大的量级。与大文件的存储不同的是,大量磁盘在小文件存储场景中的性能极低,单块企业级SATA磁盘如果全部存储4KB左右的小文件,带宽只有520KB/s,远远小于应有的120MB/s的带宽标准值,很容易因为存储系统的性能不足造成上层应用“卡顿”。把磁盘全部换成固态盘固然可以解决问题,但是,固态盘的价格数倍于SATA磁盘,对于很多用户来说,全面的应用固态盘在成本上仍然不现实。
而且,每个应用场景对于存储系统的性能往往有着不同的要求。例如,某领先电商平台已经存储了数量以百亿计算的图片文件,这些图片平均大小在15KB左右,用户对于这些图片文件的读取完全是随机读取,一旦大量用户同时在线访问网址或者搜索商品,往往就会给存储系统的随机读写能力带来巨大的挑战;在交警系统中,路口的抓拍摄像头会将违章图片传送至区中心的计算服务器,不仅摄像头数量多,而且每台摄像头每天都可能生成数千乃至上万张照片,某市每天相关图片写入甚至超过一亿张,要降低存储系统的压力,就需要及时删除正常的图片,这对存储系统的写入、删除能力要求很高。
浪潮存储产品经理杜剑表示:“海量小文件的读写需求在近几年来快速增长,特别是在人工智能、高性能计算等应用场景中,往往需要对于海量的数据集进行随机读写操作,存储系统的性能不足将会带来高时延,从而直接影响应用的效果。为了解决海量小文件的读写问题,浪潮除了尝试在硬件上进行重构之外,还致力于通过软件层面的技术创新来进行改善。”
解决海量小文件的读写难题 浪潮有三板斧
作为了面向云计算、大数据存储的高性能集群架构产品,浪潮软件定义存储 AS13000 可以帮助用户搭建存储资源池,为上端应用提供其所需的存储资源。为了提升海量小文件的读写性能,浪潮 AS13000 从云数据集群、小文件聚合、文件分层三个层面进行了创新。
首先,云数据集群技术创新。AS13000 可以根据系统规模统一规划,保证元数据服务散布于每个存储节点,使系统能够通过多个元数据服务器提供元数据服务,实现元数据并发操作,有效的提升处理海量小文件的能力。而且,AS13000 还提供了目录负载平衡特性。将目录自动分配到系统中的所有元数据服务,减少相关元数据的通信压力。
其次,小文件聚合技术创新。在前面我们也提到过,磁盘读写大文件的速度往往要显著高于小文件。为了利用这一特性,AS13000 中的小文件并非直接落盘,而是合并为64MB之后再进行落盘操作,从而有效降低小文件写入磁盘次数、减轻写数据压力,同时还提高读取命中率并缩短读 I/O 路径。
最后,文件分级计算创新。AS13000 会根据集群系统中文件的大小、类型、存放时间等元数据属性,将满足用户所设置分级策略的文件分别迁移到不同性能存储介质上的存储池中。其中,在线存储使用高速存储介质,应用于文件读写频繁且对性能要求较高的场景,近线存储使用低价、低速的存储介质,应用于对文件读写带宽和存储容量要求较高的高带宽、大容量场景,这样有利于实现速度与成本的平衡。
经过验证,在应用了这些技术创新之后,浪潮 AS13000 在海量小文件的读写性能方面有了显著的提升,理论测试中的提升幅度超过30%。
电商、交通卡口等场景 提升数倍处理效率
在电商、交通、机器学习、高性能计算等实际客户的存储系统应用实践中,浪潮 AS13000 显著的提升了海量小文件的读写性能。在某工业技术研究院的高性能计算应用中,浪潮 AS13000 通过小文件读写性能的优化将作业耗时降低了20%;在某警务云的搭建实践中,浪潮 AS13000 在应对8KB-64KB 小文件读写时,整体集群 IOPS 高达110000,比预期值提升了30% 左右。
海量小文件读写速度的提升对于上层应用效率的提升可谓“立竿见影”。例如,在某市骨架路网的视频监测中,浪潮 软件定义存储AS13000 将图片检索用时从十几秒降低到3秒以下,交通监控图片取证实现“秒开秒解”,交通执法取证的速度更是提升几倍。除了极高的性能表现之外,浪潮AS13000还具备极高的可用性、安全性,是搭建面向云计算、大数据存储的高性能集群架构的优先选择。