Skip to main content
QUICK REVIEW

[论文解读] Fragmentation in Large Object Repositories

Russell Sears, Catharine van Ingen|arXiv (Cornell University)|Dec 21, 2006
Advanced Data Storage Technologies参考文献 20被引用 8
一句话总结

本文使用可扩展的对象存储和依赖 get/put 接口的多媒体存储库,研究大规模对象仓库中的碎片化问题。比较了 SQL Server 和 NTFS 的表现,发现当对象大小超过 256KB–1MB 时,碎片化会严重降低性能,且由于更好的空闲空间管理,NTFS 的性能优于 SQL Server。研究发现,对象大小的一致性和写入请求大小均显著影响碎片化,表明简单的接口修改可提高存储可预测性并减少维护开销。

ABSTRACT

Fragmentation leads to unpredictable and degraded application performance. While these problems have been studied in detail for desktop filesystem workloads, this study examines newer systems such as scalable object stores and multimedia repositories. Such systems use a get/put interface to store objects. In principle, databases and filesystems can support such applications efficiently, allowing system designers to focus on complexity, deployment cost and manageability. Although theoretical work proves that certain storage policies behave optimally for some workloads, these policies often behave poorly in practice. Most storage benchmarks focus on short-term behavior or do not measure fragmentation. We compare SQL Server to NTFS and find that fragmentation dominates performance when object sizes exceed 256KB-1MB. NTFS handles fragmentation better than SQL Server. Although the performance curves will vary with other systems and workloads, we expect the same interactions between fragmentation and free space to apply. It is well-known that fragmentation is related to the percentage free space. We found that the ratio of free space to object size also impacts performance. Surprisingly, in both systems, storing objects of a single size causes fragmentation, and changing the size of write requests affects fragmentation. These problems could be addressed with simple changes to the filesystem and database interfaces. It is our hope that an improved understanding of fragmentation will lead to predictable storage systems that require less maintenance after deployment.

研究动机与目标

  • 理解碎片化如何影响使用现代存储接口的大规模对象仓库中的性能。
  • 评估对象大小、空闲空间比例和写入请求大小对数据库和文件系统中碎片化的影响。
  • 识别可减少碎片化并提高系统可预测性的实际接口级改进措施。
  • 在不同工作负载和对象特性下,比较 SQL Server 和 NTFS 的性能表现。

提出的方法

  • 使用 get/put 接口在 SQL Server 和 NTFS 上对对象存储工作负载进行基准测试。
  • 测量当对象大小从较小到较大(最高达 1MB)时,性能退化情况,重点关注碎片化的影响。
  • 分析空闲空间百分比与对象大小比例之间的关系,以评估碎片化的影响。
  • 统一改变写入请求大小和对象大小,观察碎片化行为的变化。
  • 通过受控实验,隔离对象大小和空闲空间对 I/O 性能的影响。
  • 比较长期性能曲线,识别在持续工作负载下系统特有的行为特征。

实验结果

研究问题

  • RQ1对象大小如何影响大规模对象仓库中的碎片化和性能?
  • RQ2空闲空间与对象大小的比例在碎片化相关的性能退化中起什么作用?
  • RQ3在不同工作负载下,SQL Server 和 NTFS 等不同存储系统如何处理碎片化?
  • RQ4对象大小或写入请求大小的统一性在多大程度上加剧了碎片化?
  • RQ5简单的接口修改能否减少碎片化并提高系统可预测性?

主要发现

  • 在 SQL Server 和 NTFS 中,当对象大小超过 256KB–1MB 时,碎片化成为性能退化的主导因素。
  • NTFS 在处理碎片化方面优于 SQL Server,尤其是在对象大小和空闲空间比例变化较大的情况下。
  • 即使在没有混合工作负载的情况下,存储单一大小的对象也会导致显著的碎片化。
  • 写入请求大小的改变会直接影响碎片化水平,表明接口层面具有敏感性。
  • 空闲空间与对象大小的比例是决定碎片化影响的关键因素,而不仅仅是空闲空间的百分比。
  • 对文件系统和数据库接口进行简单修改,可显著减少碎片化和维护开销。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。