如何描述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水平。如下图所示:
对于这张图有四点信息需要说明。
- QoS测试了两个9(99%)和四个9(99.99%)两个级别,每个级别分别测试了读和写两种IO场景,队列深度为1和128(最小压力小和最大压力)场景,还有些其他的条件设定这里不再赘述;
- IO均为4KB随机IO,以1s的频率采样,所有数值均采集自稳态下的PBlaze4,设备功率C750插卡形态在25W,D750 2.5寸盘形态为20w;
- 红框内数据应解读为,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的性能抖动降到最低。
- 如何描述PCIe SSD性能的稳定性?
- PCIe SSD 性能调优--概述篇
- Linux PCIe SSD NVME 性能调优篇
- PCIe SSD KVM IO性能调优
- PCIe SSD 性能调优--PCIe,BIOS配置篇
- Memblaze 联手PMC推出用于超大规模数据中心的高性能PCIe SSD
- PostgreSQL介绍及PCIe SSD对其性能的提升效果分析
- PCIe SSD在Hadoop中的应用及性能展示
- 如何利用PCIe技术优化企业SSD系统…
- PCIe SSD 加速MongoDB
- 如何保持Oracle数据库SQL性能的稳定性
- device tree中对PCIe的描述
- SSD的王者 PCIe固态硬盘的未来在哪里
- 将PCIe SSD作为高速缓存的两大方式
- PCIe SSD在奇虎360的应用
- 基于PBlaze4 PCIe SSD 的OracleRAC Hammerdb 测试
- 基于12槽PCIe扩展坞支持11块PCIE SSD硬盘的了解
- LUA的稳定性,luajit的稳定性如何?
- 北京燃气召开TnPM三维数字化设备管理系统项目启动大会
- 改编版iframe 跨域问题 。window.name方式 postMessage 。。。。。。。。。
- Thread的run()与start()的区别
- Spring4.0.6 Websocket详细配置 之 讯息模块
- Linux查看系统是否被cc攻击的方法
- 如何描述PCIe SSD性能的稳定性?
- 如何修改oc中默认的NSLog函数
- mongodb lbs 坐标定位 java操作版本
- 你是想做个安静的程序员,还是去创个业呢?
- CSS 属性(1)
- Android之Sensor 简介
- 数据库
- jQuery 获取屏幕高度、宽度
- Applied Math and Machine Learning Basics 摘要笔记