Chinaunix

标题: 保存很多小文件,如何提高性能 [打印本页]

作者: tangye    时间: 2012-05-24 15:30
标题: 保存很多小文件,如何提高性能
存储小文件,我觉得压力主要在文件系统上
作者: wolfop    时间: 2012-05-24 15:52
没啥太好的办法,弄多几个文件系统保存。
作者: tangye    时间: 2012-05-24 16:40
wolfop 发表于 2012-05-24 15:52
没啥太好的办法,弄多几个文件系统保存。


Linux下选择什么文件系统对大量小文件存储更合适呢?
作者: wolfop    时间: 2012-05-24 21:14
回复 3# tangye
以前来说reiserfs有明显优势,不过这个FS的老大都给关牢里面了,现在还真不知道。也许就用老的reiserfs 3.6.x吧。

   
作者: tangye    时间: 2012-05-24 22:55
回复 4# wolfop


   

    这么娱乐的消息?
作者: spook    时间: 2012-05-25 16:02
ZFS 怎么样?
作者: pingfan2    时间: 2012-05-27 18:28
wolfop 发表于 2012-05-24 21:14
回复 3# tangye
以前来说reiserfs有明显优势,不过这个FS的老大都给关牢里面了,现在还真不知道。也许就用 ...



呵呵
作者: storm the front    时间: 2012-05-28 16:06
大量的小文件一般都用分布式的文件系统来处理,而且其结构一般都是对metadata有一定优化的。
作者: wolfop    时间: 2012-05-29 17:12
分布式文件系统处理小文件优化?METADATA跨节点的同步很好玩么?
GPFS/CXFS/HDFS都是为大文件优化的。
作者: rtm009    时间: 2012-05-29 17:16
看看所谓的tbfs的方案吧 我没记错的话是500台pc server 搞了一个所谓的小图片缓存
作者: leotangcw    时间: 2012-05-30 14:17
reiserfs对小文件有一定优势,XFS适合大文件,但是说是优势,实际测试性能差距没有多少。
压缩成大的压缩包存就有优势,不过知道楼主不是这个意思
作者: tangye    时间: 2012-05-30 14:27
感谢各位提供那么多建议。

回头捣鼓一下看看
作者: bigmoyo    时间: 2012-05-30 16:08
有套应用,工作日每天生成小文件7-8千,周六周日则可能上万,用的NTFS,结果到了18万小文件时,硬盘干脆就坏菜了,包换期内,硬盘换了.
此前文件也没有分开在多目录下存.
然后在程序中,生成的文件按天有目录,按目录下按人头再分目录,基本保证了每个目录下的文件顶多也就几百个;每天4点-5点之间,去批删除12天前的文件及目录,到现在基本算是稳稳运行了两年多了.
我的经验是任何单一文件系统但凡超过10万个小文件是会有明显性能下降滴.

提高性能我觉得可以这么干:
1. 分散于多个文件系统上, 每个文件系统上别超过10万个小文件.例如分8个分区,在应用中生成文件时按某些规则分别写到8个分区去.
2. 一定要分目录,保证每个目录下文件数量不上千,分目录规则视应用而定.
作者: tangye    时间: 2012-05-30 20:13
bigmoyo 发表于 2012-05-30 16:08
有套应用,工作日每天生成小文件7-8千,周六周日则可能上万,用的NTFS,结果到了18万小文件时,硬 ...


每天生成小文件7-8千,周六周日则可能上万

这个算每周5W个文件,18W才4周不到。硬盘挂掉没有普遍意义吧

分路径存储应该是不错的建议
作者: wolfop    时间: 2012-05-31 17:16
本帖最后由 wolfop 于 2012-05-31 17:21 编辑
rtm009 发表于 2012-05-29 17:16
看看所谓的tbfs的方案吧 我没记错的话是500台pc server 搞了一个所谓的小图片缓存

tbfs方案是专门为一次写入,后面只读而做的。适合所有小文件的场景么?如果频繁删除,追加和改写呢?
而且他自己宣传“基于Hdfs 0.20进行全面改造,设计目标:单个集群可达10000台服务器,支持10亿文件、100PB的数据的存储”
明显文件很大啊,单个文件100M。
10亿个文件真不多,以前有个计费系统30-40多亿个小文件,就把一个集群文件系统搞出了不少BUG。metadata同步是大问题。

作者: rtm009    时间: 2012-06-03 14:21
好好的去看看有关tbfs的文章吧 看不懂就当我没说 有钱就上gpfs好了 没钱开源的也有很多解决方案的
作者: owenhappy    时间: 2012-08-02 09:07
你的场景是怎么样的 ?
1.需要metadata吗?
2.只要速度数据就OK了?


作者: yfg123    时间: 2012-08-07 10:03
还有hdfs乍么样?
作者: taotao1240    时间: 2012-08-07 10:42
如果没有专门的开发,还是不要去搞tbfs和hdfs,出了问题你就哭吧,没人帮你。
作者: wolfop    时间: 2012-08-08 12:14
rtm009 发表于 2012-06-03 14:21
好好的去看看有关tbfs的文章吧 看不懂就当我没说 有钱就上gpfs好了 没钱开源的也有很多解决方案的

gpfs明显是针对大文件优化的,并不适合有大量小文件的场景。尤其是有频繁创建新文件,删除文件的场景。
作者: zhlin0054    时间: 2012-08-10 18:04
学习了,谢谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2