据了解,使用3D XPoint Memory的Optane P4800X在国内已经开始少量供货,除了一些测试过的人之外,已经开始有采购的用户了。有朋友问我,这个卡在测试中有没有需要注意/调优的地方,以便更好地发挥其性能价值。

此外,如果说Windows Server 2012和2016的内核I/O效率有差异,您能否先预测下性能结果?

接系列前文

《IntelOptane P4800X评测(序):不用缓存和电容保护的SSD?

《IntelOptane P4800X评测(1):好钢如何用在刀刃上?

《OptaneP4800X评测(2):Oracle 170万TPM意味着什么?

前面已经写过FIO和Oracle数据库的测试,这篇主要围绕Windows下的Iometer测试结果,顺便谈谈性能发挥方面的一些注意事项。水平有限,不足之处请大家多指正:)

传统中断I/O在Optane面前显出瓶颈

点击放大图片,以下同

首先解释一点,未经特别设置的情况下,我在Windows Server 2016(自带NVMe驱动)下测到的P4800X读延时最小为20μs左右,没有达到当初在《再谈3D XPoint:延时、QoS与队列深度》中列出的官方规格。Why?

Intel标称的延时是QD(队列深度)=1小于10μs,我也看了国外网站的评测,要达到这个性能传统IRQ中断设备访问模式应该是比较困难,polling(轮询)的效率会更高。而polling也分为内核态和用户态实现,如果使用FIO、Iometer这样的工具测试块设备,我在高版本Linux内核下测到了11μs左右;此外还有个“终极大法”——用户态下的SPDK,后续文章中我会给大家讲讲这部分测试。

这里顺便推荐冬瓜哥的一篇科普文《IO协议栈前沿技术研究动态(2015存储峰会分享)

回过头来说,可能大多数企业存储用户现在还用不到polling,那么传统中断I/O的性能也有参考意义。我们接着讨论上面的对比图表:

Intel Optane P4800X与SSD P3700相比,在低队列深度的情况下IOPS和延时优势都很明显。P4800X在QD=32时就能测出最大IOPS58万,而P3700则要到QD=128才能达到标称的46万。

用Windows Server 2016上来直接测,写延时也没有低于20μs

再来看随机写。与随机读不同的是,由于SSD上有写缓存做优化合并等,低队列深度时两款卡拉不开差距(前文中我也提到了NAND闪存SSD这个Cache和保护电容往往大一些)。Intel SSD P3700在QD=8时已达最大性能18万IOPS(此时Optane P4800X为23万),而P4800X到QD=32才完全发挥出优势,我们测出的48万随机写IOPS接近50万的官方规格,此时的延迟为66μs(P3700则达到170μs)。

在《不用闪存了,Optane SSD为何还要28%的OP?》中我曾提到过,3D XPoint Memory介质不用擦除就能直接覆盖写入,所以P4800X不需要大容量DRAM写缓存的设计,平均写延时只是比读略高。而P3700在QD=16~32之间有一个交叉点,超过这个点读IOPS和延时表现就比写要好了。

对于QoS延时,SSD的写缓存就比较无力了。下一篇评测中,我还将给大家列出95%-99.999% QoS延时的对比,一些官方spec中没有的数值希望能够通过我们的测试给大家补上。

为什么要绑核:IRQ打散对CPU开销的影响

接下来一个问题,就是动辄几十万IOPS,CPU的开销如何?在Iometer里每个Worker对应一个线程,如果单一Worker测试增加QD达到一定IOPS就会把单个CPU核心耗满。我观察了这时的CPU资源占用情况,想到了一个提高性能效率的可能。

上面的截图,还是来自本系列测试使用的服务器——Dell PowerEdge R830,配置了4颗10核Intel Xeon E5-4610 1.8GHz CPU。上面是关闭超线程时每个内核显示的小窗,这样看直观一些,如果打开HT由于逻辑处理器太多只会显示一个百分比数字了。

大家可以观察到有8个CPU核心一度集中占用较高——因为我在测试中先做了8个线程的绑核操作,而后取消了绑核,按照默认方式跑8个Worker测试。后半程能够调动的CPU资源还是相当于8个核,但Windows系统自动会将其打散到多个核心上,就像irqbalance的效果。经过反复对比测试,验证了绑核设置对性能是有影响的。

不到60万IOPS,CPU总体占用率超过20%,快要接近10核1.8GHz E5-4610 CPU的处理资源了。从这一点上来看Windows的效率没有Linux高。

这里还是使用Windows Server 2016,默认超线程打开的测试结果。当QD=1时,设置绑核之后Optane P4800X的IOPS从46067提高到57858,延时从21μs降低到17μs,同时CPU占用率也有下降。可见OS的中断打散在有些情况下是有副作用的。

在一个Worker将QD增加到4时,Xeon E5-4610 v4处理器的单个1.8GHz核心开始成为瓶颈。绑核后可以测到145828 IOPS,2.8%的CPU占用率基本上代表占满了40核心中的1个,可能把其它程序的一点开销也统计进去了吧。

当Worker*QD加大到16*2时,由于已经是多线程I/O操作,绑核的效果不再明显,都可以达到Optane P4800X的最大性能。而若是在超线程关闭的情况下,绑核的表现又不一样,或者可以说不绑核测试的效果比HT打开时略差。为了不打乱大家的思路,本文还是先分析默认设置的情况。

随机写测试的情况与上面类似,QD=1时绑核效果仍然不错,而到QD=4就掉过来了。总的来说高队列深度下绑核的作用不再明显,或者有小的副作用。同时我也按照同样方式测试了Intel P3700随机写,结果和Optane P4800X类似,也就是说这一段的经验对于Windows下不同的高性能SSD都应该适用。不过NAND闪存卡的低QD随机读性能与Optane差距较大,所以绑核受益没那么多了,比如在100μs基础上降低几个微秒就不容易察觉了吧。

17μs的延时并不能让我们止步,更重要的是我也想验证不同版本操作系统下的表现,请看接下来的对比。

WindowsServer 2016输给了2012?但不是全部

可能是工程样品的缘故,我手头这块Optene P4800X最大IOPS性能偶有小幅波动。文档里标称的随机读55万,我在测试中偶有遇到52万左右的情况。

换用Windows Server 2012 R2之后,我们验证了绑核带来的效果。QD=1随机读延时降低到15μs,单个CPU核心贡献的IOPS也超过了16万,这可以说WS 2016的效率不够高吗?

注:CPU的单线程性能与主频和核心效率直接相关,我们测试的PowerEdge R830服务器支持全系列XeonE5 v4处理器,这台配置的E5-4610 v41.8GHz在Linux下单核可以轻松测出20万以上IOPS

上面图表中我们也看到了不正常的情况:QD=32时绑核之后性能反而达不到最大IOPS,延时和CPU占用率也飙升,几乎把16个CPU核心给耗满了。如果关闭超线程,WS 2012系统下绑核没有这个问题,也许需要更进一步的调优吧。这应该不是SSD的问题,列出来只是供大家参考。

Windows Server 2012 R2随机写的情况与随机读类似。QD=1绑核在54744 IOPS时CPU总体占用率只有0.83%,相比之下WS 2016的内核效率显得低了一点。

顺序读写带宽简测

考虑到单位容量价格的因素,大数据块顺序I/O性能应该不算Optane P4800X的亮点。不过既然也有朋友问过我这方面,估计还会有人想了解吧。

Intel P3700官方指标Seq R/W: Up to 2800/2000MB/s,不过是按照MB/s = 1,000,000 bytes/second的单位,我们测试的MiB则是1,048,576bytes

如上方图表,Optane P4800X的64KB顺序读带宽在QD=2时就达到最大值2500MiB/s了。而Intel SSD P3700的情况有点特别,QD=1时的读带宽较高,而QD增加到2-4却有些不稳定,还出现过低于1000MiB/s的情况。由于带宽测试不是我们的重点,只是短时间跑了一下没有深究,结果仅供大家参考。也不排除是我手头测试卡的个体表现。

顺序写的表现在我们意料当中,Optane P4800X在64KB QD=8时写带宽达到了2185MiB/s,比P3700高一些。

总结与展望:SPDK、QoS延时

简单回顾下本文的Iometer测试,除了P4800X未能发挥出标称的延时(原因前面解释过了)之外,我们还发现了Server 2016和2012系统效率上的小差别,以及绑核带来的效果。有些结论涉及到Windows系统的机制,不只适用于Optane和Intel SSD,希望能给大家一些参考吧。

下一篇我将转回到Linux系统。在Intel给出的图表中,同样使用单一Xeon CPU核心,Linux内核IOPS最高可以跑到40-50万IOPS,而改用SPDK之后则高达350万以上。

我估计Intel这个测试用的CPU主频达到3.5GHz左右。那么我手头PowerEdge R830服务器上的Xeon E5-4610 1.8GHz如果SPDK跑到上面列出的一半,应该也能用1个核心支撑Optane P4800X和P3700两块卡加在一起了。

Intel Optane P4800X评测(3):Windows绑核优化篇相关推荐

  1. MySQL的启示:Intel Optane P4800X评测(4)

    本次测试特邀熊猫直播高级DBA杨尚刚参与.尚刚在互联网公司工作多年,是MySQL数据库等方面的专家. 在这一系列评测中,从前面几篇已经可以全面了解使用3D XPoint Memory的Optane P ...

  2. Intel Optane P4800X评测(1):好钢如何用在刀刃上?

    在<Intel Optane P4800X评测(序):不用缓存和电容保护的SSD?>一文发表之后,有同行朋友不只一次询问后续测试的情况,看来大家对Optane/3D XPoint Memo ...

  3. oracle ssd加速,评测 | Intel Optane SSD 加速 SmartX 超融合在 Oracle 等场景下的系统性能...

    近期,SmartX 和 Intel 中国基于 Intel 第二代至强可扩展处理器平台与 Optane SSD 结合 SmartX 超融合软件 SMTX OS 进行了产品联合验证,并在 Oracle 等 ...

  4. oracle ssd加速,联合评测 | Intel Optane SSD 有效加速SmartX 超融合在Oracle等场景下的系统性能...

    众所周知,使用基于标准 x86 服务器平台的软件定义架构,是超融合能够全面提升用户IT架构敏捷性和易维护性的一个重要原因,相比于使用专有硬件的传统SAN存储,这种架构的一大优势就是可以在产品中快速引入 ...

  5. ssd的smt_联合评测 | Intel Optane SSD 有效加速 SmartX 超融合在 Oracle 等场景下的系统性能...

    众所周知,使用基于标准x86服务器平台的软件定义架构,是超融合能够全面提升用户IT架构敏捷性和易维护性的一个重要原因,相比于使用专有硬件的传统SAN存储,这种架构的一大优势就是可以在产品中快速引入业界 ...

  6. Redis实例绑定CPU物理核优化Redis性能

    进入本次Redis性能调优之前,首先要知道CPU结构也会影响Redis的性能.接下来,具体了解一下! 为什么CPU结构也会影响Redis的性能? 主流的 CPU 架构 一个 CPU 处理器中一般有多个 ...

  7. Intel Optane DC Persistent Memory Module (PMM)持久内存

    英特尔已经公开讨论了一年多的Optane DC Persistent Memory Module(PMM),体现了一种新的以数据为中心的体系结构,在这个体系结构中,PMM位于DRAM和Optane D ...

  8. Linux下cpu和绑核

    基本概念 cpu个数 是指物理上cpu的个数. cpu核心数是指物理上,也就是硬件上存在着几个核心.比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组. cpu ...

  9. 内存模块与计算机兼容,Win10 2004与 Intel Optane内存模块不兼容 附解决方法

    英特尔Optane傲腾于2017年首次亮相,是一种存储内存模块,旨在以更少的成本提高台式机和笔记本电脑的性能.微软已经开始推送2020 Windows 10更新五月版更新,但似乎与Intel Opta ...

最新文章

  1. 房价预测-paddle 实现
  2. (1)学习数组,集合,IEnumerable接口,引申学习迭代器
  3. 洛谷 P1197 [JSOI2008]星球大战
  4. 2016年蓝桥杯省赛A组c++第8题(暴力求解)
  5. 使用Android studio 创建svn分支
  6. 在MATLAB中读取同一路径下多个txt或mat文件
  7. asp从后台调出的公式怎么参与运算_吴望一《流体力学》第一章中微分运算公式的初等证明...
  8. 拿什么保护你,我的区块链
  9. 分计算iv值_一文读懂评分卡的IV、KS、AUC、GINI指标
  10. h264和h265编码所需要的处理器性能
  11. TF卡和SD卡的区别
  12. 中国顶级CEO经典语录
  13. illumina测序两束激发光分别是什么颜色,A/T/C/G四个碱基又分别标记了什么颜色的荧光素呢?
  14. SSM综合复习之MyBatis
  15. C++类与对象之封装篇
  16. iOS获取视频文件大小和时长
  17. Apple M1 开启HiDPI的新方法,无需虚拟屏,无需SwitchResX
  18. 免密登录远程服务器(适用于命令窗口和VScode)
  19. 2023 DiscuzX 仿网易我的世界方块人生商业模板主题
  20. 跨专业学计算机应用好学吗,我是学计算机软件工程的,想跨专业考金融的研 – 手机爱问...

热门文章

  1. 纸上得来终觉浅、绝知此事要躬行
  2. docker 部署mysql
  3. Vitis 统一软件平台文档:应用加速开发 (UG1393)
  4. 如何在vue中使用keepalive,以及如何移除keepalive
  5. 冲顶大会怎么盈利???
  6. 美国计算机加音乐专业,卡内基梅隆大学音乐与技术本科专业 让音乐无限可能!...
  7. JQuery添加或移除CSS样式 页签
  8. 综合应用题:python文件(论语)
  9. 编曲新手可以用什么编曲软件?
  10. 小米8可以用鸿蒙系统吗,有小米鸿蒙系统刷机包吗_小米手机怎么刷鸿蒙系统_小米鸿蒙系统合集-浏览器家园...