基于Swift的小对象访问性能优化研究与实现
发布时间:2017-09-16 01:13
本文关键词:基于Swift的小对象访问性能优化研究与实现
更多相关文章: 分布式存储系统 Swift 小文件 访问预取
【摘要】:伴随着互联网的快速发展与普及,越来越多的个人用户在使用网络应用的同时产生大量的数据。而云技术的发展也使得更多的企业用户选择将数据服务迁移到云中。在电子商务、社交网站、视频服务等网络应用中,服务端每天都产生大量的小文件,久而久之小文件的数量呈几何级增长。传统的存储系统往往针对大文件进行设计,在面对小文件存储时往往性能低下。本文以Openstack Swift分布式存储系统为实验平台,利用小文件存储的特点,对存储系统读写性能优化进行研究。首先,Swift中的对象服务通过调用底层文件系统对数据进行读写。在面对小文件的随机访问时,存储节点需要频繁从磁盘中读取元数据,浪费了大量的磁盘I/O。本文提出对文件进行合并存取的Swift改进方案,并在内存中建立文件的索引,减少元数据使用空间。存储节点可以将所有的文件元数据缓存在内存中,在小文件访问时只需要一次连续的磁盘I/O操作,以此改善Swift存储系统在处理小文件场景下的随机读写性能。通过对文件组织形式的改变,以虚拟分区进行文件整合,以此降低数据迁移时对系统带宽的影响。其次,对于分布式存储系统,其外部的CDN服务往往具备缓存功能。时间局部性强的数据通过被外部缓存被读取,从而导致存储系统本身的数据缓存命中率降低。本文提出基于预取缓存的Swift改进框架。将对文件访问的日志记录进行分析,利用数据挖掘的方式计算出文件的访问模式。将相关性强的小文件进行合并存储,并且在访问过程中对文件进行预取,用以增加Swift存储系统的数据缓存效果。在缓存过程中对文件的相关率进行验证,降低错误的预取对系统性能的影响。最后,本文通过Cosbench模拟不同大小的文件读写,对整合了合并存储优化模块的Swift存储系统进行测评,验证对小文件读写的性能的改进效果。并通过真实的访问日志,模拟其访问过程,分析预取模块对系统性能的影响。实验表明,基于合并存储的方式在面对越小的文件时,系统带宽提升效果越明显。合并的方式也可以有效的降低数据迁移对系统吞吐量的影响。基于文件关联的预取策略虽然会降低系统带宽,但可以有效的提高系统的平均响应时间。
【关键词】:分布式存储系统 Swift 小文件 访问预取
【学位授予单位】:哈尔滨工业大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP333
【目录】:
- 摘要4-5
- ABSTRACT5-8
- 第1章 绪论8-13
- 1.1 课题背景及研究的目的和意义8-9
- 1.2 国内外相关研究9-11
- 1.2.1 云存储研究现状9-10
- 1.2.2 数据预取研究现状10-11
- 1.3 研究内容11
- 1.4 本文组织结构安排11-13
- 第2章 相关技术研究13-23
- 2.1 分布式对象存储系统概述13
- 2.2 Openstack Swift对象存储系统13-20
- 2.2.1 Openstack Swift简介13-14
- 2.2.2 Swift架构14-15
- 2.2.3 数据容错15-16
- 2.2.4 一致性哈希环16-19
- 2.2.5 数据一致性19-20
- 2.2.6 文件组织结构20
- 2.3 存储节点数据访问20-22
- 2.4 本章小结22-23
- 第3章 基于合并存储优化策略23-35
- 3.1 小文件访问的性能瓶颈23-24
- 3.2 合并存储优化策略24-25
- 3.3 Swift改进系统总体架构25-28
- 3.3.1 系统总体架构25-26
- 3.3.2 系统读写流程26-28
- 3.4 Swift改进系统详细模块28-34
- 3.4.1 核心调度模块28-30
- 3.4.2 索引管理模块30-32
- 3.4.3 缓冲管理模块32-33
- 3.4.4 删除统计模块33
- 3.4.5 数据整理模块33-34
- 3.5 本章小结34-35
- 第4章 基于访问关联性的预取策略35-48
- 4.1 预取缓存策略35-36
- 4.1.1 数据访问特性35
- 4.1.2 预取缓存模型35-36
- 4.2 对象集合挖掘算法36-42
- 4.2.1 基于潜在中间层的概率分析算法36-38
- 4.2.2 基于频繁项集的算法38-40
- 4.2.3 基于距离的聚类算法40-42
- 4.3 集合相关率与缓存替换算法42-44
- 4.3.1 对象集合相关率42
- 4.3.2 缓存替换算法42-44
- 4.4 基于访问关联性的预取的设计与实现44-47
- 4.4.1 总体结构设计44-46
- 4.4.2 存储节点缓存服务46
- 4.4.3 代理节点缓存服务46
- 4.4.4 分析服务46-47
- 4.5 本章小结47-48
- 第5章 实验设计与分析48-57
- 5.1 实验设计48
- 5.2 实验环境48-49
- 5.3 性能测试与分析49-56
- 5.3.1 基于合并存储的优化策略实验49-53
- 5.3.2 基于访问关联性的预取策略实验53-56
- 5.4 本章小结56-57
- 结论57-58
- 参考文献58-63
- 致谢63
本文编号:860000
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/860000.html