科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网存储频道实时数据压缩影响固态硬盘吞吐性能?

实时数据压缩影响固态硬盘吞吐性能?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

SSD是当今存储行业最热门的技术之一。本文将通过基于SandForce的消费级SSD来探究SSD使用实时数据压缩的概念。笔者采用IOzone来测试吞吐性能,IOzone允许改变数据压缩率(重复数据删除率),从而可观察到对硬盘吞吐性能的影响。试验结果十分值得期待,这就为你一一道来。

作者:存储时代(编译) 来源:Stor-age.com 2011年4月20日

关键字: 实时压缩 固态硬盘 SSD SandForce

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共7页)

笔者之所以采用IOzone,是因为IOzone是最为流行的吞吐性能基准之一,它是开源的,可被写入普通的ANSI C,很重要的一点,它能测试不同的I/O模式,而其他基准很少能实现。它能够进行单线程、多线程、和多客户端测试。IOzone的基本理念是将给定大小的文件分成若干记录。这些记录会被按照某种格式写入或读取以至达到文件大小。利用该理念,IOzone可执行众多测试。而本文只进行该基准的写入、读取、随机写入、随机读取、写入文件、读取文件测试项目。

写入:这是一个非常简单的测试,模仿了写入新文件的过程。因为需要为该文件创建新的元数据,所以多次写入新文件相比重写现有文件的速度要慢。IOzone利用特定长度的记录来写入文件直至达到整个文件长度(记录的长度可由用户指定,也可由IOzone自动选择)。

读取:该测试读取现有文件。它可读取整个文件或每次读取一个记录。

随机读取:该测试读取可访问任意位置的文件。而读取是按照记录单位进行直至读完整个文件。该测试的性能受诸多因素影响,包括OS缓存、磁盘数量及其配置、磁盘寻道延迟和磁盘缓存。

随机写入:该测试主要探究写入可访问任意位置的文件时的性能。该文件将被打开成整个文件大小,数据按照记录大小写入文件的任意位置。

写入文件:该测试主要利用一项磁带库功能“fwrite()”来探究写入文件性能。这是一项二进制功能(从系统的说明页可获得更多信息)。同样重要的是,该程序可执行缓冲区的写入操作,而缓存区是位于用户空间,而非系统缓存。测试按照创建在用户缓存空间的记录长度缓存进行,之后再写入文件。该过程将重复至整个文件创建完成。此测试类似于“写入”测试,要创建新文件,可能还注重元数据性能。

读取文件:该测试利用“fread()”磁带库功能来读取文件。它打开一个文件,并按照记录长度将其读入位于用户空间的缓存区。该过程将持续至整个文件读取完成。

IOzone还有其他的测试选项,但本文只进行以上所述测试。

对于IOzone,系统规格相当重要,因为它们会影响命令行选项。尤其是系统内存,它对缓存有着重大的影响,因此特别重要。如果存在问题的数据足够小到进入系统或文件系统缓存(至少部分),那么它就会对测试结果产生影响。将缓存影响突出的系统与缓存影响不太明显的系统相比,就像是将两种类型不同的事物相比较一样,不能同日而语。例如,当在内存为1GB的系统和内存为8GB的系统运行相同大小且存在问题的数据时,产生的结果是不相同的。

在本文中,缓存影响将被尽可能的限制。然而,不运行超大的问题和强迫OS几乎完全消除所有缓存,是不可能完全排除缓存影响的。最小化缓存影响的办法之一便是使文件大小远远超过主内存。在本文中,文件大小选择为16GB,这是主内存的两倍。所选原因只能说是经验之谈了。

在本文中,总的文件大小被固定为16GB,测试的四个记录大小分别为:(1) 1MB、(2) 4MB、(3) 8MB、(4) 16MB。相应的16GB的文件分别可分为(1) 16000份记录、(2) 4000份记录、(3) 2000份记录、(4) 1000份记录。相对小的记录运行时间过长,因为其记录数目很大,所以本文将其考虑在外。

记录大小为1MB的命令行:

./IOzone -Rb spreadsheet_output_1M.wks -s 16G -+w 98 -+y 98 -+C 98 -r 1M > output_1M.txt

记录大小为4MB的命令行:

./IOzone -Rb spreadsheet_output_4M.wks -s 16G -+w 98 -+y 98 -+C 98 -r 4M > output_4M.txt

记录大小为8MB的命令行:

./IOzone -Rb spreadsheet_output_8M.wks -s 16G -+w 98 -+y 98 -+C 98 -r 8M > output_8M.txt

记录大小为16MB的命令行:

./IOzone -Rb spreadsheet_output_16M.wks -s 16G -+w 98 -+y 98 -+C 98 -r 16M > output_16M.txt

控制数据的压缩率(IOzone称之为重复删除数据率)选项分别为:“-+w 98”、“-+y 98”和“-+C 98”。如果数据可被重复数据删除,那么IOZone将采用重复数据删除的术语来描述。压缩数据情况基本一致,因此,笔者会交替使用这些术语。“98”选项指的是数据的重复数据删除率为98%,具有很强的可压缩性。这三个选项可用来控制数据的压缩率,从而可检测数据压缩率对性能的影响。

笔者测试了三种数据压缩率水平——98%(具有很强的可压缩性)、50%、2%(具有很弱的可压缩性),希望得到这些数据压缩率水平下相对应的性能变化范围。而100%压缩率和0%压缩率情况下的实验结果可能不切实际。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章