无论是 'du -sh /data'或'find /data -type f'都非常慢,使用的是 ext4文件系统。
求推荐优化方法。
求推荐优化方法。
1
ysjdx May 23, 2014
换reiserfs会不会好点
|
2
46fo May 23, 2014
曾经 就被这个问题困扰过
|
3
pubby May 23, 2014
印象中,没有哪个文件系统能吃得消这样整。
你这啥系统,设计方案有问题。 |
4
dorentus May 23, 2014 via iPhone
du -s 和 find 本来就是要便利文件的,数量多了自然慢
但是你的上层应用应该不会有经常这么做的需求吧 |
5
hydrazt OP |
6
love May 23, 2014
我的目录里分了二级目录,比如 xxxxxxxx/xxxxxxxx/xxx.jpg,大概100W左右文件,速度完全没有问题。
当然你说的du -s和find是全遍历,不可能快的,换任何方式存文件都不行。 |
7
why May 23, 2014
存数据库嘛
|
8
20150517 May 23, 2014
你得用mongo gridfs
|
9
micate May 23, 2014
嗯,上数据库吧。
或者结构复杂点,比如文件还是散列到目录中,但同时存储一份信息到数据库。 这样可以满足 du -s 的需求,直接数据库 sum(),find 也是数据库记录查找。 |
10
46fo May 23, 2014 via iPhone
淘宝的文件系统阿。专处理小文件
|
11
cdffh May 23, 2014
|
13
skydiver May 24, 2014 via Android
按前缀分n级目录就行啊
|
14
yakczh May 24, 2014
map reduce
|
15
7rack May 24, 2014
存储最好上SSD,做raid-1哇,如果要备份啥的,要用上 LVM。这里讲的比较多,也许对你有帮助 http://lwn.net/Articles/400629/
|
16
perrywky May 24, 2014
为何不用又拍云或者七牛
|
17
hydrazt OP |
20
jamiesun May 25, 2014
对每个目录在当前创建一个索引文件,使用后台任务进行索引, 查找统计就直接查索引
|
21
favormm May 27, 2014
数据库吧。
|