搭载固态硬盘的服务器究竟比搭机械硬盘快多少?

您所在的位置:网站首页 服务器用机械硬盘 搭载固态硬盘的服务器究竟比搭机械硬盘快多少?

搭载固态硬盘的服务器究竟比搭机械硬盘快多少?

2024-07-13 20:14| 来源: 网络整理| 查看: 265

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

1测试环境

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

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

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

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

对比测试正式开始。

2顺序读取PK

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

先来看一下机械硬盘:

在固态硬盘下:

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

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

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

3随机读取PK

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

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

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

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

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

再看固态硬盘下的4K IO Size下的表现。

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

4结论

在服务器级别的机器上,因为有Raid卡缓存的加持,顺序IO的情况下,基于HDD组成的Raid阵列服务器在IO性能上并没有太落下风。

但是在随机读取的场景下,无论带宽还是延迟指标,SSD都要比HDD快几十倍以上。所以在服务器中应用SSD,更主要解决的是随机IO的问题。所以如果你的服务器里存在过多的Page Cache,Raid卡缓存都兜不住的随机IO请求,那么请把HDD更换成SSD吧。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3