免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 17339 | 回复: 25
打印 上一主题 下一主题

[FastDFS] FastDFS 3.0功能规划及方案设计 [复制链接]

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-18 16:55 |只看该作者 |正序浏览
本帖最后由 happy_fish100 于 2011-04-11 17:58 编辑

海量小文件将严重影响系统的性能,主要是因为文件数过大,文件系统对文件寻址的开销比较大,这会导致文件系统性能低下,甚至导致死机等现象。
FastDFS 3.0将对小文件进行优化。使用业界普遍采用的做法,将多个小文件存储到一个较大的文件中,比如64MB的文件,这个存储实体文件不妨称作trunk file。
因为对小文件采用trunk file存储方式,FastDFS 3.0将对trunk file可使用的区块进行管理,管理方式和内存管理类似。
对于大于一定大小的文件,比如阀值为trunk file size的4/5,则不再保存到trunk file中,直接保存为一个单独的文件。

storage server内置trunk manager的功能,在storage server上对trunk file可用区块进行管理。在一个时间点,一个group只有一台storage server提供管理和查询服务,简称trunk manager。该group的其余storage server作为备机,只接收binlog。
如何做到一个group只有一台storage server提供trunk管理服务,这个由tracker server统一协调完成。
如果承担trunk manager那台storage server挂了,本组其余的一台storage server会自动升级为trunk manager,接替其工作。

当storage server要存储一个小于阀值的文件(也就是小文件)时,先询问trunk manager,trunk manager返回存储到的trunk file文件名,以及存储起始的偏移量。当storage server成功完成文件存储后,向trunk manager报告。如果报告失败,则文件上传当失败处理。

trunk manager管理方案说明:
trunk manager将trunk相关数据,全部存放到内存中管理。对于trunk更新操作(包括增加和删除两种),会记录到单独的binlog文件中,有专门的线程将binlog文件同步给本组的其他storage server。
为了节约内存空间,trunk file文件名,会单独存放。trunk file可用空间链表中,trunk filename采用指针方式指向。

当storage server向trunk manager请求分配文件空间时,trunk manager会先在内存中扫描有没有满足条件的可用trunk,如果有,那么直接返回。否则,一个创建trunk file,然后将新的trunk file记录到binlog和内存中,并完成分配。

为了提高分配效率,trunk manager将采取slot的方式对可用空间进行组织,比如初始的字节数为256,最大字节数为32MB,每次以2倍的速度递增,形如:
256,512, 1K, 2K, 4K,。。。,1M,2M,4M,。。。,16M,32M
在slot 256中的可用空间,是 >= 256,< 512的
在slot 512中的可用空间,是 >= 512,< 1K的
在slot 1K中的可用空间,是 >= 1K,< 2K 的
以此类推。
初次分配时,新创建的trunk file是在slot 32M中。随着trunk file被逐渐使用,可能会从slot 32M移动到slot 16M中,后面又可能被移动到slot 1MB中,如此等等
每个slot下可用的空间信息,按可使用空间大小升序排列。这么做的好处是分配的效率会比较高,直接取第一个结点(链表头)即可。

为了简洁起见,不采用相邻空闲空间合并机制。

论坛徽章:
0
26 [报告]
发表于 2012-09-21 09:47 |只看该作者
koolcoy 发表于 2011-03-02 17:52
这样才能测出fdfs的性能,如果上传大文件的话,系统瓶颈是网络和磁盘,上传空文件,系统瓶颈就是fdfs了, ...


FastDFS里面的通信方式都采用发送后都要阻塞的方式等待响应,肯定会影响性能。

论坛徽章:
0
25 [报告]
发表于 2012-08-24 11:39 |只看该作者
好的,谢谢了,已经加上了

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
24 [报告]
发表于 2012-08-14 16:44 |只看该作者
回复 23# guliny

群3还有空间,群号:212801927

论坛徽章:
0
23 [报告]
发表于 2012-08-14 15:37 |只看该作者
FastDFS技术交流群满了,:-(

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
22 [报告]
发表于 2012-08-03 12:53 |只看该作者
刚整理好的V3引入的小文件合并存储特性介绍PPT,欢迎大家下载阅读。
写得不清楚的地方,欢迎反馈和交流。

FastDFS V3合并存储特性介绍.rar

44.7 KB, 下载次数: 429

论坛徽章:
277
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58CU大牛徽章
日期:2013-05-20 10:44:54CU大牛徽章
日期:2013-05-20 10:45:13CU大牛徽章
日期:2013-05-20 10:45:24CU大牛徽章
日期:2013-05-20 10:45:31金牛座
日期:2013-09-06 22:11:28巨蟹座
日期:2013-09-06 23:01:04射手座
日期:2013-09-06 23:01:45
21 [报告]
发表于 2012-07-23 10:25 |只看该作者
楼上就想免费学习不给钱

论坛徽章:
0
20 [报告]
发表于 2012-07-22 16:01 |只看该作者
版主老大,我 非常想和你一起做这个事情,不知道有机会没啊

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
19 [报告]
发表于 2012-07-22 15:04 |只看该作者
自顶一下这个介绍性帖子,以方便大家查看。

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
18 [报告]
发表于 2012-05-23 17:44 |只看该作者
本帖最后由 happy_fish100 于 2012-05-23 17:45 编辑

回复 17# eof007

>>AVL树是只存在内存还是内存和硬盘都有?
只保存在内存中。

>>文件平均只有10K,但数量达到10亿级别,频繁删除,能存储吗?
可以。可能需要分为多个group。

>>有存储大量小文件实际案例吗?
小文件合并存储这个特性是去年6月份发布的,目前还没有收到使用这个特性的用户反馈。

欢迎加入FastDFS技术交流群讨论:164684842
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP