SSD Performance测试简介

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

SSD Performance测试简介

SNIA给Client SSD与Enterprise SSD都制定了Performance test (性能测试)的规范,可以到其网站 www.snia.org 下载。

 

要进行SSD的Performance Test,首先要理解几个关键概念。

FOB:Fresh Out of Box, 指的是刚开封全新的盘,此时SSD的性能类似于悟饭同学的愤怒形态,战斗力爆表但不持久,并不是这块盘在未来正常使用过程中的真实能力。

 

Transition:经过一段的读写,战斗力逐步降低,逐步趋向于稳定状态,这个过程称为转换状态。

 

Steady State: 战斗力数值稳定在一个区间,Performance相关的数据,例如Throughput(吞吐量),IOPS,Latency(延迟)都必须在Steady State下获取,据此判断到底是超级赛亚人,还是战五渣。

 

看看下面这张图,不同的盘Performance数据有所不同,但趋势一样 – 爆表à下降à稳定:

 

 

Steady Stage的官方计算方法 (x为测量窗口内某个时刻的Performance值):

[Max(x)-Min(x)]≤ Average (x) * 20%

And

Slope≤10%,整个测量区间内所有Performance数值的最佳线性拟合中的[Max(x)-Min(x)]≤ Average (x) * 10%

数学是体育老师教的,我把原文贴在这里,大家帮我斧正。

Slop(x)is less than 10%: Max(x)-Min(x), where Max(x) and Min(x) are the maximum and minimum values on the best linear curve fit of the x-values within the measure windows, is within 10% of Ave(x) value within the measurement window.

 

 

接下来,另外几个概念:

Purge (擦除): 每次进行Performance test前都必须进行Purge动作,目的是消除测试前的其他操作(读写,其他测试)带来的影响(比如,一段小BS的随机读写之后立即进行大BS的顺序读写,这时候大BS的数据会比较差),从而保证每次测试时盘都是从一个已知的,相同的状态下开始。简单来说,可以把Purge理解为:让盘回到FOB状态。

实现的Purge方法可以是:

  • ATA:Security Erase, SANTIZIE Device (Block Erase Ext)
  • SCSI:FORMAT UNIT
  • Vendor specific method (厂商的工具)

 

Precondition:通过对盘进行IO使其逐步进入Stead State的过程,分两步进行.

  • Workload Independent Preconditioning (WIPC):第一步,读写时不使用测试的Workload
  • Workload Dependent Preconditioning (WDPC): 第二步,读写时使用测试的Workload

 

Active Range: 测试过程中对盘上LBA发送IO命令的范围

 

Data pattern: Performance测试必须使用random data pattern (指向NAND Flash中写入的数据)。

 

基本测试流程

  1. Purge the device – 擦除SSD
  2. Run Workload Independent Precondition – 比如用128K的BS顺序把盘写两遍
  3. Run Test (包括Workload Dependent Precondition)– 设置好相关参数(OIO/Thread, Thread count, Data Pattern等)开始进行Workload Dependent Precondition,最多跑25个round
  4. 假设25个round以内达到了Steady Status,例如第x次。那么:
    1. Round 1:x 称为Steady Status收敛区间
    2. Round (x-4):4 称为测量区间(Measure Window)

如果25个round还没有达到Steady Status, 可以选择:

  1. 继续步骤3直到达到Steady Status并记录x
  2. 直接取x=25

注意事项: 步骤2到步骤3之间不可以中断,停顿。

 

Performance测试项目包括,IOPS测试,Throughput 测试,Latency测试和饱和写测试(可选)

 

以IOPS测试为例说明一下步骤:

  • Purge SSD
  • Workload Independent Preconditioning — 用128K的BS把SSD写两遍
  • Workload Dependent Preconditioning and Test
    • 用RW Mix(100/0, 95/5, 65/35, 50/50, 35/65, 5/95,0/100), BS(1024K, 128K, 64K, 32K, 16K, 8K, 4K, 512B)组合进行Random IO
    • 每个Round包括7*8=56个组合,每个组合跑一分钟并记录结果
    • 以R/W Mix=0/100, BS=4K这个组合的IOPS结果判断是否到达Steady Status (参考前文Steady Status判断标准)
    • 在测量区间(Measure Window)记录相关数据

 

 

Throughput测试和Latency测试的步骤大致相同,需要注意的是:

  • Throughput测试:只有两个组合,BS=1024K Sequence Write和BS=1024K Sequence Read,用Sequence Write的值来判断Steady Status
  • Latency测试:只使用3种RW Mix组合(100/0,65/35,0/100)和3种BS(8K,4K, 512Byte),另外需要把队列数和线程数都设为1

 

 

饱和写测试Write Saturation (WSAT) test,对SSD进行长时间的Random 4K写操作,评测其经过长期写入以后的Performance表现。

关于饱和写测试,国外知名网站TechReport.com的弟兄们曾经花了18个月,拿了6块不同厂商的SSD进行了惨无人道的,超过2PB的连续写入操作。

原文链接:http://techreport.com/review/24841/introducing-the-ssd-endurance-experiment

中文链接(蛋蛋版):http://www.ssdfans.com/?p=672

 

分类目录 未分类.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。