SSD Performance测试简介

转载自:http://www.ssdfans.com/?p=4698

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

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值