Skip to content
首页 » 精选文章 » 如何进行带有透明压缩技术的SSD基准测试?

如何进行带有透明压缩技术的SSD基准测试?

  • ScaleFlux 
  • 1 min read

基于计算存储技术的SSD正逐渐成为主流。本文将以透明压缩为例,展示如何对类似的新功能进行基准测试。

1. 什么是透明压缩?

透明压缩在某些工作负载中可以像“加速器”一样发挥作用,这似乎有些反直觉。不过,如果您了解闪存内部的运作原理,就能说得通了。

透明压缩可以在写入数据时对其进行压缩,在读取数据时再将其解压缩,而这些操作都是在SSD内部完成的,主机并不需要进行任何操作。

通过透明压缩技术减少向Flash写入的活动,可以带来以下几点好处:

  • 提高随机写性能,随着持续随机写入IOPS的增加,存储设备能够在单位时间内处理更多的随机写入操作;
  • 降低写入对读取的干扰,改善混合工作负载的读取尾延迟;
  • 降低写入数据时所带来的写放大现象,提高耐用性,延长了SSD的使用寿命。

2. 透明压缩是如何工作的?

数据只需一定程度的可压性,在使用透明压缩功能时,就能够带来明显的性能和耐用性提升。而当压缩比超过一定阈值时(2:1及更高),数据压缩所带来的性能收益会逐渐减弱。

透明压缩的另一个好处是有效地增加了SSD的OP(over-provisioning)。市场上SSD产品容量一般分为7% OP的“读密集型”和28% OP的“写密集型”(例如3.2TB和3.84TB),它们之间只有20%的可用空间差别。因此,因此,当将“读密集型”的硬盘进行1.2:1的数据压缩时,可以将其变成“写密集型”的硬盘。

此外,通常情况下,通过使用 Huffman 编码技术,还可以进一步压缩已经经过LZ4(或 Snappy)压缩的数据,压缩比可以达到20%左右。

3. ScaleFlux 计算存储SSD的容量是多少?

如果数据可以压缩,我们就可以将多余的空间返还给主机。通过使用 NVMe Thin Provisioning功能集,我们可以设置命名空间的(Namespace)大小大于实际 SSD 的物理容量,也就是说,让主机认为命名空间的大小更大,而实际使用的物理空间不变。物理空间的利用情况将在命名空间使用字段中报告,并由主机监视。这不会影响性能的提升。举例来说,如果数据平均压缩比为2:1,那么我们可以将容量从3.84TB扩展到6.2TB,并且仍能保持28%OP的性能水平。

4. 为了获得最佳效果,需要重点关注混合读/写负载和延迟

在对带有透明压缩功能的SSD进行基准测试时,我们会选择混合读写工作负载。我们根据不同压缩级别下存储的数据的延迟和IOPS结果来评估性能,这些压缩级别介于不可压缩和约2.5:1可压缩比之间。如果数据还可以进一步压缩,那么压缩比例更高的数据应该被用于扩展存储容量。简而言之,我们在压缩率和性能之间进行权衡,以达到最佳的性价比。

比如我们有一个测试,在测试中我们会不断增加随机写的数量,同时最大化读取性能。

在图表中,ScaleFlux的曲线为红色,另一个Gen4 SSD的曲线为蓝色。实线表示“读取IOPS”,虚线表示“已实现的写入IOPS”。随着尝试写入的IOPS增加,我们的读取性能受到的影响要小得多,并且我们还可以继续线性扩展写入IOPS

如果您的工作负载无法利用压缩技术,这时该如何评估固态硬盘的性能呢?如果数据不可压缩,则数据将绕过压缩功能,直接写入固态硬盘。这种情况下,我们与市场上领先的Gen4 NVMe SSD的性能相当。因此,数据的可压缩性只会带来额外的好处,而不会对性能造成任何负面影响。

5. 最佳测试方法

在测试ScaleFlux 计算存储SSD容量时,您可能需要下载最新版本的 nvme-cli https://github.com/linux-nvme/nvme-cli 。该版本包含了我们的最新插件,可以轻松地报告SSD上的写放大和总体压缩比(nvme sfx /dev/nvme… smart-log-add).

此外,我们的 FIO 测试环境也可以在 GitHub 上找到 https://github.com/kpmckay/fio-scripts 其中包括一些突出性能优势的测试(包括上面图表中的数据)。READ ME 中还提供了一个表格,可以将 FIO 设置与实际硬盘的压缩比进行对应。

您也可以直接点击 申请测试demo

关于ScaleFlux:
ScaleFlux成立于2014年,是大规模部署计算存储的领导者,提供企业级计算存储芯片解决方案,其硬件计算加速引擎极大优化了NVMe SSD,提升了存储的能力。有效加速应用程序并优化数据中心、企业和边缘网络的基础设施资源。

ScaleFlux

ScaleFlux

ScaleFlux is the pioneer in deploying Computational Storage at scale. Computational Storage is the foundation for modern, data-driven infrastructure that enables responsive performance, affordable scaling, and agile platforms for compute and storage I/O intensive applications. Founded in 2014, ScaleFlux is a well-funded startup with leaders proven to deploy complex computing and solid-state storage solutions in volume.