存储系统元数据性能优化笔记(一)

  • 《海量存储系统元数据服务器的设计及性能优化 》

1.影响元数据服务器性能的因素有:元数据组织方式,通信性能,搜索效率

2.通信性能:系统中元数据的访问通信数据量非常小,容易触发 TCP 协议的 Nagle 算法,即将小数据报集合成大的数据表后一起发送,从而导致client端意想不到的等待时间(在通信层产生的等待,非上层应用的等待),如果想要避免这种等待开销,需要设置套接字的TCP_NODELAY 选项,可禁用 Nagle 算法。

3.元数据组织结构:

存储系统元数据性能优化笔记(一)_第1张图片

每个文件有多个元数据内存结构:fsnode、fsedge、fsclass、fstape、tapepool、fssegment等,重要的数据结构是fsnode和fsedge:

fsnode保存真正的元数据信息(类似与inode结构的作用),每个文件都有一个全局唯一的id保存在fsnode中,使用bitmap为每个新创建的文件分配id;

fsedge则保存了文件的文件名,文件名长度和对应节点的父节点和兄弟关系,通过父目录和目标文件名可以通过fsedge快速查找文件;

fsnode和fsedge都是采用hashtable组织的,fsnode采用hash(id)定位,而fsedge使用hash(父目录,文件名,文件名长度)定位;

4.bloom filter加速文件检索:

每个目录都有一个bloom filter结构,用来标记该目录下的层次结构中有哪些文件,因此每当更新一个文件时,需要沿着该文件的fsedge更新它的所有祖先节点的bloom filter。



你可能感兴趣的:(存储系统元数据性能优化笔记(一))