博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FastDFS 小文件优化策略
阅读量:4089 次
发布时间:2019-05-25

本文共 832 字,大约阅读时间需要 2 分钟。

    FastDFS是一个应用级分布式文件存储服务,主要用于大中型网站存储资源文件。FastDFS具有轻量级,支持负载均衡,高并发,高可用,可扩展,冗余备份等优点。而FastDFS最大的亮点就是对小文件的存储性能较好,这主要来自于其文件名策略。
1.小文件存储性能优化
    小文件的性能瓶颈主要来自于对元数据服务器(如FastDFS中的Tracker Server)的访问,因为当文件本身大小很小时,元数据存储所占空间与文件内容存储所占空间的比例就变得较大,访问元数据所消耗资源与访问文件内容所消耗资源的比例也变得较大。因此,通常对小文件存储的优化方法主要有两大类思路:一是减少访问元数据的次数,比如Cache预取;二是减少元数据所占的存储空间,比如FastDFS使用的文件名策略。
 
2. FastDFS文件名策略
    FastDFS中的文件名是在向Storage Server存储文件时由系统指定的,StorageServer在写入成功后会返回文件ID(包括了组名、虚拟磁盘路径、两级目录和文件名)。也就是说,当客户要读取某个文件时,是知道该文件存储在哪个Group上和它在Storage Server中的文件名。但是此时用户还不能读取文件,因为他不知道Group内各个Storage Server的ip地址,也不知道应该从Group内的哪个Storage Server中读取。所以用户需手持欲访问的文件ID向Tracker Server询问,Tracker Serve会均衡当前各Storage Server的IO负载状况,返回一个最佳的Storage Server的ip地址。最后用户与该Storage Server连接,出示欲访问文件的file_id,Storage Server上会维持一个file_id对应偏移量的表,从而得到欲访问文件的偏移量。
    可见,FastDFS的文件名策略将文件存储位置信息隐含在文件名中,从而减少了元数据量,达到了优化小文件存储性能的作用。

转载地址:http://lmbii.baihongyu.com/

你可能感兴趣的文章
解决SimpleDateFormat线程安全问题NumberFormatException: multiple points
查看>>
MySQL数据库存储引擎简介
查看>>
处理Maven本地仓库.lastUpdated文件
查看>>
Kafka | 请求是怎么被处理的?
查看>>
Java并发编程1-线程池
查看>>
CentOS7,玩转samba服务,基于身份验证的共享
查看>>
计算机网络-网络协议模型
查看>>
计算机网络-OSI各层概述
查看>>
Java--String/StringBuffer/StringBuilder区别
查看>>
mySQL--深入理解事务隔离级别
查看>>
分布式之redis复习精讲
查看>>
数据结构与算法7-栈
查看>>
线性数据结构学习笔记
查看>>
数据结构与算法10-冒泡排序、插入排序、选择排序
查看>>
数据结构与算法14-跳表
查看>>
Java并发编程 | 一不小心就死锁了,怎么办?
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
(python版)《剑指Offer》JZ06:旋转数组的最小数字
查看>>
(python版)《剑指Offer》JZ13:调整数组顺序使奇数位于偶数前面
查看>>
(python版)《剑指Offer》JZ28:数组中出现次数超过一半的数字
查看>>