当前位置:网站首页>搭载固态硬盘的服务器究竟比机械硬盘快多少
搭载固态硬盘的服务器究竟比机械硬盘快多少
2020-11-08 16:17:00 【张彦飞allen】
相信大家都知道固态硬盘(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.搭载固态硬盘的服务器究竟比搭机械硬盘快多少?
我的公众号是「开发内功修炼」,在这里我不是单纯介绍技术理论,也不只介绍实践经验。而是把理论与实践结合起来,用实践加深对理论的理解、用理论提高你的技术实践能力。欢迎你来关注我的公众号,也请分享给你的好友~~~
版权声明
本文为[张彦飞allen]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4746202/blog/4707202
边栏推荐
- laravel8更新之速率限制改进
- 浅谈OpenGL之DSA
- Restfulapi learning notes -- father son resources (4)
- SQL 速查
- Returning to the third place in the world, what did Xiaomi do right?
- Tips and skills of CSP examination
- Solution to the problem of offline connection between ADB and mobile phone
- [Python 1-6] Python tutorial 1 -- number
- It's just right. It's the ideal state
- C + + things: from rice cookers to rockets, C + + is everywhere
猜你喜欢

wanxin finance

How to solve the difference between NAT IP and port IP

Design by contract (DBC) and its application in C language
![[Python 1-6] Python tutorial 1 -- number](/img/3b/00bc81122d330c9d59909994e61027.jpg)
[Python 1-6] Python tutorial 1 -- number

浅谈,盘点历史上有哪些著名的电脑病毒,80%的人都不知道!

Flink的sink实战之一:初探

I used Python to find out all the people who deleted my wechat and deleted them automatically

Improvement of rate limit for laravel8 update

模板引擎的整理归纳

第五章编程题
随机推荐
CSP考试须知与各种小技巧
Solution to the problem of offline connection between ADB and mobile phone
AI weekly: employees are allowed to voluntarily reduce salary; company response: employees are happy and satisfied; tiger tooth HR takes employees out of the company; Sweden forbids Huawei ZTE 5g equi
(O)ServiceManager分析(一)之BinderInternal.getContextObject
Eight ways to optimize if else code
谷歌开源能翻译101种语言的AI模型,只比Facebook多一种
3、 The parameters of the function
技术总监7年总结,如何进行正确的沟通?
RestfulApi 学习笔记——父子资源(四)
佛萨奇forsage以太坊智能合约是什么?以太坊全球滑落是怎么回事
华为在5G手机市场占据绝对优势,市调机构对小米的市占出现分歧
我用 Python 找出了删除我微信的所有人并将他们自动化删除了
Build simple business monitoring Kanban based on Alibaba cloud log service
Learn to record and analyze
.NET 大数据量并发解决方案
Chapter 5 programming
It's just right. It's the ideal state
打工人,打工魂,抽终身会员,成为人上人!
机械硬盘随机IO慢的超乎你的想象
Elasticsearch 学习一(基础入门).