关于FastDFS的一点问题
我们的系统准备采用FastDFS做分布式文件管理系统,但是有几个问题希望得到happy_fish100 明确的答复。
在大数据量增长的情况下,基于log的系统能否抵挡一天5g的图片增量?
当整个系统中的文件数量或者文件容量增加到多少时,性能会有折扣?折扣是多少?
多台机器之间的同步速率是多少?一张3mb的图片,大概在多长范围内能同步到各服务器(服务器数量在6-8台之间)?
能否实现读写分开策略?能实现的话,怎么实现?
一个组是不是只能存在在一台机器上?一台机器上可以存在不同的组,但是不能存在同一组在同一机器上?
FastDFS上传以后的返回的文件路径为group1/M00/00/00/f8iowEqKcF0AAAAAAA3IzGCoLFw8..JPG ,其中group1为组名称,那么后面的“/M00/”是什么?是不是占位符?这个“/M00/”有什么意义?因为查看文件系统发现“/00/00/f8iowEqKcF0AAAAAAA3IzGCoLFw8..JPG”其实是图片在data文件夹下面的路径。
PS,我们使用.net开发的,暂时没有.net的客户端,我根据happy_fish100 的java客户端写了一个.net的,这个客户端我也可以贡献出来,不过需要一点时间让我重构一下。
[ 本帖最后由 user5173 于 2009-8-18 17:17 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
>>在大数据量增长的情况下,基于log的系统能否抵挡一天5g的图片增量?
FastDFS的binlog不是系统瓶颈。瓶颈在于服务器存储容量和磁盘IO性能。
>>当整个系统中的文件数量或者文件容量增加到多少时,性能会有折扣?折扣是多少?
一台服务器能存放多少个文件,完全取决于操作系统的限制。一台服务器的文件数达到千万级没有任何问题。FastDFS对文件分二级目录存储,目录数可以达到256 * 256 = 65536。文件可以依次存放到这些目录中,也可以随机存放到这些目录中。FastDFS本身在文件存取性能方面不存在瓶颈,主要取决于操作系统的文件系统。
>>多台机器之间的同步速率是多少?一张3mb的图片,大概在多长范围内能同步到各服务器(服务器数量在6-8台之间)?
通常一个组只需要配置2台存储服务器即可。文件同步速度,和系统负载有直接关系。在系统比较空闲的情况下,2秒内应该可以完成3MB大小的文件同步到其他7台服务器上。
>>能否实现读写分开策略?能实现的话,怎么实现?
数据库系统混合读写性能会急剧下降。针对文件系统,混合读写对性能应该影响不大。
>>一个组是不是只能存在在一台机器上?一台机器上可以存在不同的组,但是不能存在同一组在同一机器上?
一个组可以有一台或多台存储服务器。一台服务器通常只属于一个组就可以了。
>>FastDFS上传以后的返回的文件路径为group1/M00/00/00/f8iowEqKcF0AAAAAAA3IzGCoLFw8..JPG ,其中group1为组名称,那么后面的“/M00/”是什么?是不是占位符?这个“/M00/”有什么意义?因为查看文件系统发现“/00/00/f8iowEqKcF0AAAAAAA3IzGCoLFw8..JPG”其实是图片在data文件夹下面的路径。
FastDFS支持多个路径(如:多块磁盘分别mount为多个mount point),“/M00/”对应第一个路径,它是一个逻辑路径。
像这个路径group1/M00/00/00/f8iowEqKcF0AAAAAAA3IzGCoLFw8..JPG ,我想数据库中只存路径,存相对路径就行,那么我怎么得到这个路径呢?其实我只要存/00/00/f8iowEqKcF0AAAAAAA3IzGCoLFw8..JPG就可以符合我的要求了,因为我会把web虚拟路径指向data文件夹,我也不需要下载文件什么的,因为前面有F5做均衡处理。
去除前面的两级目录即可,组名(如group1)和存储路径索引(如M00)。
顺便说一句,FastDFS即将集成一个精简的web server,支持以HTTP方式下载文件。