如何描述PCIe SSD性能的稳定性?

来源:互联网 发布:男生瘦脸 知乎 编辑:程序博客网 时间:2024/05/20 15:10

对于企业来讲,业务系统往往24*7的持续运行,所以产品短时间内的高性能是没有意义的,企业客户需要的是能够提供稳定高性能设备,特别是大压力下的稳定高性能保证业务运行的连续性。

业界把瞬时出现比价大性能抖动现象称为“毛刺”,譬如产生超长延时等,这里需要引入IOPS一致性和QoS来描述产品性能的稳定性。本篇文章主要讨论的是PCIe SSD的QoS指标,并介绍当下主流的降低PCIe SSD性能抖动的技术。

QoS(Quality of Service):指在规定的时间内,以稳定一致的性能完成所有请求的能力。比较常见的SSD QoS量化指标是以99%或99.99%的可信度给出最大的响应时间。譬如:QoS(99%)的指标是0.1ms,表示总请求99%的IO延时在0.1ms以内。广义上讲IOPS同样可以使用QoS来形容IOPS性能稳定性。

PBlaze4有详细的数据描述其QoS水平。如下图所示:

对于这张图有四点信息需要说明。

  1. QoS测试了两个9(99%)和四个9(99.99%)两个级别,每个级别分别测试了读和写两种IO场景,队列深度为1和128(最小压力小和最大压力)场景,还有些其他的条件设定这里不再赘述;
  2. IO均为4KB随机IO,以1s的频率采样,所有数值均采集自稳态下的PBlaze4,设备功率C750插卡形态在25W,D750 2.5寸盘形态为20w;
  3. 红框内数据应解读为,PBlaze4 C750(PBlaze4的插卡版)在4KB随机读场景下(队列深度为1),99%的IO延时低于0.1ms,而篮框中的数据为同样场景下,99.99%的IO延时低于0.17ms。

在Tom’s IT对包括PBlaze4在内的主流PCIe SSD做的评测中,同样有QoS指标的展示。


不同级别QoS下主流PCIe SSD的延时指标

上图所反应的同样是4KB随机读的延时QoS,我们可以看到在Tom’sIT的测试中,不同QoS等级下IO延时的水平。

(Tom’s IT的评测涉及4K随机读/写、8K随机读/写、128k连续读/写以及文件服务器等多个场景,详细的评测细节请查看Tom’sIT评测原文:http://www.tomsitpro.com/articles/memblaze-pblaze4-enterprise-nvme-ssd,2-962-3.html

Fio测试结束给出的结果中就会有类似上图的测试数据总结,示意如下:


与不同QoS等级下延时的指标类似,IOPS同样可以采取类似的方法。

上图为PBlaze4产品文档中关于随机读/写的IOPS性能稳定性的测试结果。具体测试方法为当性能达到稳定状态时,IOPS以1s频率进行采样,连续采样十多个小时,将采样值从大到小排序,取99.9%(从最大IOPS开始)IOPS集合中最小的IOPS数值和平均性能值相比,该比值越接近于100说明抖动性越小,性能越平稳。

高性能是PCIe SSD一大亮点,但是这一亮点需要稳定作为前提。为了获得稳定的高性能,Memblaze在处理IO的调度算法上做了大量的优化。简单的说,在接收到大量不同的IO 请求后,PBlaze4对于不同类型的请求进行优先级排序,并向LUN 上的队列按照队列要求分发请求。良好的调度机制对信息流的控制可以有效的解决拥塞问题,是NAND 内部提高性能的关键技术之一。

除了调度算法,Memblaze还研发了动态延时平滑并已申请专利,根据前端IO的压力动态调节后台垃圾回收的粒度,确保PBlaze4的性能抖动降到最低。

0 0
原创粉丝点击