TFS,FastDFS对比
统一称存储元数据的为master server,存储文件的为slave server。
1)Master单点:TFS,FastDFS都不存在master单点问题。
2)Slave的数据备份:FastDFS使用异步组间备份,但不会有读取数据不一致的问题(通过master调度解决,可能短时间造成单台slave负载增大);TFS使用同步备份。
3)数据的条件查找:FastDFS文件名包含时间信息,可以通过文件名解析。
4)小文件管理:都是小文件用块存储。TFS有压缩线程处理碎片,也有专门的线程回收没用的块;FastDFS将所有小文件信息用树管理(slave server保管信息),所有操作都要先经过树的查找才能进行。
5)PIC文件名不一致问题:TFS有自定义文件名接口,但必须加两个标识;FastDFS通过文件名映射解决。
6)与PIC接口:都有相关模块可以参考。
FastDFS单机性能测试:
软件环境:
CentOS 5.4 64bit
Master server:4 net thread
Storage server:4 net thrread,1 disk read thread,1 disk write thread
硬件环境:
cpu:双核2.2hz
内存:1.5G
写操作:
current qps
1 518.41
2 562.05
4 647.39
6 540.53
8 539.78
10 527.65
storage server+上传程序的cpu占用率80%左右,io wait 15%左右
4.1G图片数据,随即抽取url,用Siege做压力测试
随机读:
Current qps
10 266.67
20 425.66
50 656.93
100 807.45
200 828.73
240 833.33
280 837.34
300 801.79
并发200左右时,Siege和nginx跑满cpu,io 压力不大(nginx应该没有缓存