fastdfs存储小文件的可行性分析

来源:互联网 发布:铜排折弯最简单的算法 编辑:程序博客网 时间:2024/05/20 05:23
一、环境
1,磁盘:SATA,ext4,inode数量=磁盘大小/16KB
2,fastdfs:5.05,关闭合并存储。
3,下载代理:弃用fastdfs nginx模块,使用nginx静态路径下载。
4,假设单磁盘大小为4TB,fastdfs子目录共32*32=1024个,假设每个小文件为16KB,则每个子目录需要存储24w个文件。​

二、测试文件存储目录结构如下,子目录值为最终存储的文件数量



三、上传测试
1,随机上传4KB、32KB、128KB文件共200万个
2,单目录文件个数<30万时,QPS为700+
3,单目录文件个数>60万时,QPS为70+

四、下载测试
1,随机下载全部的文件,200万个文件平均耗时2ms(客户端统计数据),最长耗时不超过2ms

五、删除测试
1,删除/data1/00/00/下的18万个文件,删除QPS为671
2,删除/data1/00/01/下的81万个文件,删除QPS为1350

六、系统指标
1,测试过程中,系统IO、内存、负载均在较低水平


结论:可行

关键点:
1,单磁盘要存储多少文件,inode是否足够
2,单目录下文件过大,搜索树会变大,性能下降趋势可能是非线性的

深入:
1,需要测试非4KB对齐文件
2,需要混合上传/下载/删除测试


原文出自:http://blog.csdn.net/daiyudong2020/article/details/78762058

End;

原创粉丝点击