相信大家都知道固态硬盘(SSD)的优势在于速度比传统的机械硬盘(HDD)要快,所以现在线上服务器里越来越多看到固态硬盘的出现。不过作为一个对性能数字斤斤计较的开发,我想更精确地弄明白搭载SSD的服务器在IO性能上比搭载HDD的究竟快多少,顺序IO情况下快多少,随机IO情况下又能快多少?终于在最近抽空搞了一次性能测试对比。

测试环境

分别找了两台服务器,其磁盘都是Raid阵列,分别是搭载SSD和HDD,更详细的配置如下:

  • HDD实机:

    • Raid卡型号是PERC H730 Mini,1GB RAM缓存
    • 4块500GB SSD组成的raid5,可用容量1.3T
  • SSD实机:
    • Raid卡型号同上
    • 7块300G HDD硬盘组成的Raid5,可用容量1.6T

好了,比赛选手已经就位,再选择压测工具fio。指定比(压)赛(测)规(参)则(数)如下:

  • IO引擎:为了给硬盘充分施压,选用异步方式libaio
  • PageCache:为了更接近磁盘本身性能,开启Direct参数绕开Linux系统的内存缓存
  • 压测对象:稳妥起见,没有使用裸设备,用的文件
  • 文件大小:100GB,因为我的Raid 卡缓存是1G,保证远远大于缓存
  • 调度策略:选择常见的noop

对比测试正式开始。

顺序读取PK

我们先进行顺序访问下的测试,因为这个环境下无论是机械硬盘,还是固态硬盘,性能都将会是最优的。IO大小从512K一直到1M。

先来看一下机械硬盘:

在固态硬盘下:

这个数据看来,在顺序IO情况下,其实搭载HDD的服务器IO性能并没有被搭载ssd的落下太多。这是因为

  • 顺序IO的情况下,RAID卡的命中率高,尤其是设置了RAID预取
  • 本身顺序IO也是机械磁盘工作最擅长的状态

所以,现代在服务器领域里,SSD只是应用越来越多了,但并没有能够全面替代HDD。原因之一是因为机械硬盘的顺序IO其实并不慢,再加上Raid的加持,所以还有很大的市场占比。 比较完了顺序IO,我们再来比较另外一个应用场景,随机IO。

随机读取PK

还记得开头的fio压测参数中我们把Page Cache给禁用了,再加上测试文件的大小定的是100GB,这个大大超过了Raid卡的缓存大小。所以基于这个前提下的随机IO,各级缓存基本都失去用武之地了,IO表现速度就完全看硬盘自身了。

在《机械硬盘随机IO慢的超乎你的想象》中,我们看来机械硬盘的随机IO的表现真的是太糟糕了。

再来看搭载SSD的服务器IO表现:

对比来看,机械硬盘的随机IO的速度可真的不是一般的慢,我们挑选上述结果中最被业务认可的4K IO size来看。

  • 带宽角度看,只有不到1M的吞吐,
  • 延迟角度看,在4.4ms左右

再看固态硬盘下的4K IO Size下的表现。而同等条件下的SSD可有32M。

  • 带宽角度看,仍然有32M,比HDD能快几十倍
  • 延迟角度看,大约120us左右。比HDD,就是4400:120,也是几十倍的提升

总结

在顺序IO的情况下,因为有Raid卡缓存的加持,基于HDD组成的Raid阵列服务器在IO性能上并没有太落下风。但是在随机读取的场景下,无论带宽还是延迟指标,SSD都要比HDD快几十倍以上。 所以在服务器中应用SSD,更主要解决的是随机IO的问题。所以如果你的服务器里存在过多的Page Cache,Raid卡缓存都兜不住的随机IO请求,那么请把HDD更换成SSD吧。



开发内功修炼之硬盘篇专辑:

  • 1.磁盘开篇:扒开机械硬盘坚硬的外衣!
  • 2.磁盘分区也是隐含了技术技巧的
  • 3.我们怎么解决机械硬盘既慢又容易坏的问题?
  • 4.拆解固态硬盘结构
  • 5.新建一个空文件占用多少磁盘空间?
  • 6.只有1个字节的文件实际占用多少磁盘空间
  • 7.文件过多时ls命令为什么会卡住?
  • 8.理解格式化原理
  • 9.read文件一个字节实际会发生多大的磁盘IO?
  • 10.write文件一个字节后何时发起写磁盘IO?
  • 11.机械硬盘随机IO慢的超乎你的想象
  • 12.搭载固态硬盘的服务器究竟比搭机械硬盘快多少?

我的公众号是「开发内功修炼」,在这里我不是单纯介绍技术理论,也不只介绍实践经验。而是把理论与实践结合起来,用实践加深对理论的理解、用理论提高你的技术实践能力。欢迎你来关注我的公众号,也请分享给你的好友~

搭载固态硬盘的服务器究竟比机械硬盘快多少相关推荐

  1. 服务器机械硬盘速度快,搭载固态硬盘的服务器究竟比机械硬盘快多少

    相信大家都知道固态硬盘(SSD)的优势在于速度比传统的机械硬盘(HDD)要快,所以现在线上服务器里越来越多看到固态硬盘的出现.不过作为一个对性能数字斤斤计较的开发,我想更精确地弄明白搭载SSD的服务器 ...

  2. linux 服务器 ssd,关于linux:搭载固态硬盘的服务器究竟比机械硬盘快多少

    置信大家都晓得固态硬盘(SSD)的劣势在于速度比传统的机械硬盘(HDD)要快,所以当初线上服务器里越来越多看到固态硬盘的呈现.不过作为一个对性能数字宽宏大量的开发,我想更准确地弄明确搭载SSD的服务器 ...

  3. 服务器如何选择固态硬盘,为什么绝大数服务器还使用机械硬盘,而不选固态硬盘呢?...

    如今,固态硬盘基本成为了标配,机械硬盘相比固态硬盘在读写速度在存在了性能瓶颈,已经不是不争的事实,固态硬盘替代机械硬盘指日可待.对面目前的新装机用户,基本都是使用单块固态硬盘,而对容量要求较高的用户则 ...

  4. 服务器固态硬盘优缺点,为什么服务器使用的机械硬盘比固态硬盘多

    描述 固态硬盘与机械硬盘相比较起来,读写速度更快.所以固态硬盘替代机械硬盘是指日可待的.目前很多用户都是使用固态硬盘的,但是却还有很多服务器仍然在使用机械硬盘,这是什么原因呢? 虽然固态硬盘在速度上能 ...

  5. SSD存储服务器 硬盘数量,边缘计算加速服务器存储介质从机械硬盘向固态硬盘转变...

    尽管固态硬盘在性能.抗震性以及故障率上均优于机械硬盘,但受限于成本及容量,当下部分服务器上所使用的硬盘依然为传统机械硬盘,而随着边缘计算逐渐兴起,传统机械硬盘的数据读取.延时特性均不能满足这一分布式计 ...

  6. 固态硬盘(SSD)和机械硬盘(HDD)区别对比介绍

    一.演变过程 从计算机诞生的那一刻起,存储设备就扮演着不可或缺的角色.最初的硬盘如著名的IBM RAMAC都是体积巨大并且十分沉重的大家伙,直到1980年前后,IBM推出了薄膜磁头技术,才让我们彻底告 ...

  7. 服务器电脑增加机械硬盘分区,台式电脑加新、旧机械硬盘分区教程 旧机械硬盘可以装新电脑上吗?...

    有不少新电脑用户为了节省几百元的预算,将家里的老电脑的旧机械硬盘卸下安装到新电脑上,来继续使用.那么旧机械硬盘可以装新电脑上吗?下面分享一下台式电脑加新/旧机械硬盘+分区教程,无论是增加新机械硬盘或者 ...

  8. 台式计算机怎么加一个硬盘,台式机加装一个机械硬盘图解 但建议直接在windows下...

    导读:聊到加装,我们很多人都知道,有朋友问台式机加装机械硬盘识别不了,当然了,还有人问一个台式电脑能装两个硬盘吗,这到底是咋回事?其实怎么在台式机加装硬盘呢,今天给大家说说台式机加装一个机械硬盘图解, ...

  9. 计算机里没有机械硬盘分区,电脑不显示机械硬盘怎么办 几个步骤轻松搞定

    电脑不显示机械硬盘怎么办?相信大家都知道PC电脑的机械硬盘目前的价格是比较便宜的,所以很多的用户都会给自己的电脑加装一个机械硬盘来扩充硬盘容量,那么是加装机械硬盘后电脑系统不显示是怎么回事?要如何才能 ...

最新文章

  1. JVM---垃圾回收算法详解
  2. 三星15TB固态硬盘开卖 售价高达10000美元
  3. 读过的好书[技术类]
  4. ST17H26对接RC522读IC卡
  5. python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)
  6. RabbitMQ管理(5)——集群管理
  7. OpenOffice介绍
  8. ?php php,PHP: Balises PHP - Manual
  9. BZOJ 3564: [SHOI2014]信号增幅仪(随机增量法)
  10. 移动端页面弹幕小Demo实例说明
  11. python django mysql_Python之模块、函数和缩进
  12. 东南大学计算机网络安全中心,胡轶宁 - 东南大学 - 网络空间安全学院
  13. Wpremig的AH之战题解
  14. 庖丁解牛——深入解析委托和事件
  15. Android USB 输入设备
  16. MATLAB 画图--图形属性设置
  17. windows mobile注册表修改小全
  18. linux查看.so导出函数
  19. 叉车限速5公里是否是强制规定?
  20. 一文读懂区块链隐私技术系列之环签名

热门文章

  1. 境外IP判断一种实现方案
  2. Arduino UNO AT24C32进行字符串数据读写【优化篇】
  3. c语言 库函数理解,C语言库函数理解
  4. CPU和内存的电路设计01-非门电路
  5. 代币标准--ERC1155协议源码解析
  6. 移植u-boot到S3C2440之从内存启动
  7. c语言三角分解法解方程,用直接三角分解法解线性方程组.ppt
  8. xp计算机限制打开u盘,winxp电脑提示U盘拒绝访问怎么修复
  9. Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台
  10. python 人民币兑美元汇率代码_人民币对美元汇率的大数据分析与预测【完整代码】...