文件系统是访问存储的一种常用方式,目前常用的文件系统都是针对磁盘的特性进行设计的。例如,为了解决磁盘随机小数据访问的问题,在文件系统层面引入了Page cache机制,利用内存缓存对这种访问进行加速。大多数业务都会存在数据局部性,因此,通过这种Page cache机制可以很好的提升文件系统的性能。另外,文件系统的数据布局也会考虑磁盘的特性,元数据聚合存放在一起,这样可以高效的实现元数据的存放,避免磁盘抖动。如下图描述,包括文件系统在内的存储软件栈在各个层次都会对磁盘抖动问题进行优化。

在NVMe SSD替换磁盘的过程中,我们发现传统文件系统在很多方面表现的不尽人意,导致系统性能变差,无法充分发挥NVMe SSD的性能。其中主要原因有如下两点:

1,  传统存储软件栈采用堆叠式的方式,并且存在较多层级。每个层级封装成一个模块,构成了所谓的“模块化设计”。在面向磁盘的存储系统中,这种设计方式非常好,带来的价值是存储软件栈设计与实现的灵活性。用户需要增加一个功能的时候,可以在软件栈中堆叠一个模块,非常的高效,软件功能与质量可以得到很好的控制。但是,在面向高性能介质的存储系统中,存储盘已经不再是性能瓶颈点的主因,存储软件栈本身变成了严重的性能瓶颈点。而传统的软件栈在设计与实现的时候根本没有考虑自身的瓶颈问题、软件的效率问题,根本没有考虑如何高效使用CPU的问题。从而导致传统软件栈使得处理器的运行效率极低,成了性能瓶颈的主要因素。尤其最近几年处理器往多核化方向发展,基于“存储是IO密集型应用”为指导思想的存储软件栈,很少采用多核并发处理的设计思想,因此无法发挥多核化带来的价值。高性能存储介质恰恰需要多处理器的支持,性能的发挥需要得益于多处理器的能力。在这一点上,传统软件栈的设计存在天然缺陷,其主要原因还是没有考虑到IO性能瓶颈点的转移,所以,存储软件栈在背负较重的情况下,自身成为瓶颈点,性能低下在所难免。

2,  包括文件系统在内的传统存储软件栈的设计是面向磁盘介质的,磁盘介质与高性能NVMe SSD相比存在截然不同的特性。对于NVMe SSD而言不存在随机访问性能抖动的问题;但是会存在业务IO影响写放大的问题,以及个别SSD存在写后读性能极差等问题。面向磁盘设计的一些机制对SSD而言没有价值,并且在有些应用场景下会极大的影响整体性能。例如似乎可以增加随机访问性能的Page cache,在NVMe SSD上会对业务性能造成影响。在随机访问的情况下,Page cache的命中率比较低,并且会不断的在SSD与内存之间进行page页的换入换出,这种频繁的换入换出操作会增加大量的无用操作,在软件设计存在竞争锁的情况下,文件系统的性能表现会大打折扣。

在高性能介质上,我们对比测试了裸盘与文件系统之间的性能。下图对比了4KB与8KB在随机访问情况下的性能。从图中可以看出,在4KB与8KB随机读情况下,文件系统的性能要远远低于裸盘性能。此时我们发现文件系统在忙于Page Cache的换入换出操作。在4KB与8KB随机写情况下,两者性能接近。

在64KB与128KB大压力数据访问情况下,文件系统与裸盘的性能接近,如下图所示:

从测试与分析的结果可以看出,Ext4文件系统在随机访问方面性能损失较大,在其他方面两者的性能相近。因此,Page cache等策略在SSD上起到的效果基本没有,可以忽略。此外,我们也可以体会到传统软件栈不仅没有优化高性能存储介质,反而带来了性能以及寿命等方面的影响。所以,SSD在数据中心等应用中大规模使用时,存储软件栈需要做深层次变革。

文件系统在NVMe SSD上的性能表现分析相关推荐

  1. 如何在NVMe SSD上安装Win7?手把手教你

    NVMe固态硬盘已经成为DIY市场新的生力军,有望取代AHCI/SATA接棒普及重任. 不过它有两个问题美中不足,一是发热量较大,二是装系统比较复杂.随着NVMe SSD越来越受大家的关注,这两个问题 ...

  2. 断点帧数测试软件,《幽灵行动:断点》PC版性能表现分析

    <幽灵行动:断点>是系列最新作品,本作采用AnvilNext 2.0引擎,外媒DSOGaming今天评测了它在PC上的性能表现. 以下是文章全文: 本次PC性能测试分析我们使用的是Inte ...

  3. 刺客信条 奥德赛的性能测试软件要求,《刺客信条:奥德赛》PC性能表现分析:非常流畅...

    <刺客信条:奥德赛>是2018年最受期待的游戏之一,本作由AnvilNext引擎打造,目标要让玩家进入古希腊世界,游戏即将正式发售,DSOGaming今日发布了这款游戏的PC版性能表现分析 ...

  4. 看门狗性能软件测试,《看门狗:军团》PC版性能表现分析

    <看门狗:军团>是首款同时登陆本世代和次世代平台的育碧游戏.外媒DSOGaming今日发布了<看门狗:军团>的PC版性能表现分析结果,一起来看看这款游戏的表现如何吧. 全文如下 ...

  5. ChatGPT一路狂飙,NVMe SSD能否应对性能挑战?

    近日,ChatGPT持续火爆,用户在短短两个月内迅速破亿,大量用户涌入导致ChatGPT访问和数据规模指数级增加.与数月前发布的版本相比,新的ChatGPT"智能"了许多,不仅可以 ...

  6. 骁龙835在Windows 10上的性能表现有望改善

    尽管Intel最近以"涉嫌侵权"不点名批评微软和高通合作在骁龙835/820平台上实现对x86的模拟,但微软已经表示不会受影响,将为了广大消费者把此事做好.据外媒报道,微软最新的动 ...

  7. 分析pc计算机的性能方面,《腐烂国度2》PC性能表现分析 中档电脑轻松驾驭

    本次测试我们使用的是Intel i7 4930K(超频至4.2Ghz),8G内存,AMD Radeon RX580和RX Vega 64,NVIDIA GTX980Ti和GTX690显卡.更新最新版本 ...

  8. mysql在傲腾上性能表现第一部分:理论概述

    若大一个中文网,搜索不到一篇mysql在安腾上的性能表现,详细分析与实际测试的文章,截止写文章当天,百度,知乎,各技术博客.似乎没有人对傲腾和mysql这两个结合有兴趣,这不禁让人感到无趣. 首先看一 ...

  9. 安兔兔电脑ssd测试软件,安兔兔SSD测试软件测评,威钰战国NVMe SSD

    原标题:安兔兔SSD测试软件测评,威钰战国NVMe SSD 威钰战国NVMe SSD测评,安兔兔SSD测试软件到底准不准 威钰最近推出了战国系列NVMe SSD,采用支持HMB虚拟缓存的慧荣SM226 ...

最新文章

  1. “不设边界”的云知声:从多场景AI芯片到视觉AI,誓要2019营收近3倍
  2. AS 4.7安装yum
  3. Leetcode 102. Binary Tree Level Order Traversal(二叉树的层序遍历)
  4. 第三章 改进神经网络的学习方式(中下)
  5. Python Django 一对多正向查询示例
  6. 1.有意义的命名(代码的整洁之道)
  7. 因特网使用期限_Internet死亡时使用PC的其他方式
  8. 第一学期《计算机网络》作业一_新学期学习计划合集5篇-其他范文
  9. H.264学习历程(天之骄子)
  10. 机器学习中的数学基础相关知识总结
  11. Magento Add Fee or Discount to Order Totals
  12. Windows10 cmd输入python打开的是应用商店
  13. 最有创意的万圣节借势海报都在这里
  14. Initramfs应用问题记录
  15. 像进度条的网页加载Loading JS代码
  16. OFFICE软件有哪三大语言功能?
  17. image.open()得到的图片是什么类型_复古门窗花格图片大全让精彩生活继续闪耀 「巴森」...
  18. 感谢第一个和第二个付费客户对我的信任
  19. 惠普服务器装系统ESXI,在惠普服务器上安装ESXI 5.5卡在LSI_MR3.V00的解决方案
  20. 目前,国内的互联网发展趋势

热门文章

  1. LVSHAproxyNginx区别
  2. ESXi 5.1 安装 Mac OSX Lion 10.7
  3. sublime theme color
  4. 【转】C#的内存管理:堆栈、托管堆与指针
  5. 自助出版风靡美国的7个理由(转载)
  6. 详细分析开源软件项目 Ajax.NET Professional 中的RCE 漏洞(CVE-2021-23758)
  7. 关于telnet的安装
  8. expect脚本中,变量的写法
  9. linux认识第一面
  10. SCOM 2012 SP1安装过程