目前多数文件系统都提供了整理数据文件碎片的工具,这对于提高对大文件的访问性能是有一定帮助的。但是在某些场景中,仅仅整理数据文件碎片对系统性能的提高没有显著作用。在清除文件系统中长时间未整理的文件垃圾箱时,即使分区经常进行碎片整理,往往也要等待很长一段时间,甚至删除不到10GB的数据需要等待超过一个小时。在构建WEB代理服务时,整理磁盘碎片对提高访问缓存内容性能没有帮助,要提高缓冲性能,就得提升硬件配置或增加计算机数量。同样在通过源代码编译程序时,整理磁盘碎片对提高编译速度没有太大帮助,譬如双核处理器上编译Linux内核源代码时采用make-j4参数,几乎没有性能改善。究其原因,当文件系统中大量的目录和小文件被频繁访问时,文件系统元数据在磁盘上的分布就会显著的影响数据访问的性能。
本文介绍了在Ext4文件系统上通过为每个子目录预留索引节点的方法来改进元数据磁盘布局,并就两个重要的应用场景——更新Squid页面缓冲和多线程编译Linux内核源代码——对这种改进的索引节点分配策略进行性能评估。基于性能评估的数据,可以看到通过改善文件系统元数据在磁盘上的布局,即使不升级硬件配置,也可以显著提高文件系统的I/O性能。
下载资料需要登录,并消耗一定积分。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !