服务器选好了
测试软件也会用了
IO性能怎样才能达到最优呢?
IO测试的工具前两篇文章已经给大家做了相关介绍,小编常常问自己,是否还能从硬件层面对IO性能进行调优呢?专题第三篇文章接下来给大家介绍服务器参数调优,提高IO性能;
概念介绍:
Write Through(WT)和Write Back(WB)是阵列卡的两种工作模式,当选择WT模式,系统写入操作,并不经过阵列卡的Cache,直接与磁盘进行数据交互,而选择WB模式时,写入操作时会经过阵列卡的Cache;
Read ahead:预读取策略,采用此策略可提高随机读取性能,当第二次读取时,可提升命中率;
No Read ahead:非预读取策略;
测试环境
机器型号及微码信息:
Raid卡型号:ThinkSystem RAID 930-8i 2GB
2个虚拟磁盘,VD_1为SSD测试盘,VD_2为HDD测试盘,系统安装在m.2的磁盘上
为了达到测试效果,分为以下4个场景进行测试(只针对写性能测试,并使用统一的fio测试命令参数,Fio的使用已经在前面的文章里有相关介绍):
1、打开write back测试HDD磁盘性能;
4*300G 10K盘,做raid0
2、打开write Throuth测试HDD磁盘性能;
4*300G 10K盘,做raid0
3、打开write back测试SSD磁盘性能;
4*240GB SATA SSD盘,做raid0
4、打开write Through测试SSD磁盘性能;
4*240GB SATA SSD盘,做raid0
PS:实验室只找到两块240G SSD + 2块480G SSD,条件有限;
开始测试
场景一:打开write back测试HDD磁盘性能;
ThinkSystem系列机器还是蛮方便的,可以直接在XCC界面设置raid,无需重启机器
测试命令:
测试结果:
场景二:打开write Throuth测试HDD磁盘性能;
测试命令:
测试结果:
场景三:打开write back测试SSD磁盘性能
测试命令:
测试结果:
场景四:打开write Through测试SSD磁盘性能
测试命令:
测试结果
结果分析
从上面的结果来看,我们的测试的四组结果分别为:
WB HDD:IOPS 4666 (WT模式下的2.8倍)
WT HDD:IOPS 1656
WB SSD: IOPS 59.3K
WT SSD: IOPS 196K (WB模式下的3.3倍)
一般情况下大家都认为Raid卡打开cache,会大幅提升IO性能,实验数据表明,只有在传统HDD的情况下符合这个说法,原因就在我们的RAID使用的是高速缓存(本实验环境缓存卡为2G cache);
本实验环境下,SSD磁盘在开启WT模式时效能比WB模式提升3倍多,与HDD环境效果相反,是因为目前SSD硬盘性能已经大幅提升,当SSD数量达到一定的量,超出了cache的缓存能力,缓存卡反而会成为瓶颈,为发挥SSD的最佳性能,我们建议开启WT模式,绕过缓存;
建议大家根据自己的实际情况进行参数设置,以达到最好的IO性能,不同的配置及不同厂商的硬盘测试结果会有很大差异,测试结果以实际结果为准,本文只给相关原理解释;
PS:在某些条件下,比如物理机有系统压力,我们也可以通过调整UEFI设置的方式提高IO性能,特别是4路机器,此处我分享几个截图,是根据同事实际应用场景得出的结果,分享给大家参考;
前面的测试组的测试环境UEFI已经调优过,恢复默认设置后取一个场景进行测试(SR650 使用SSD WT模式测试):
由此可以看出,在我的测试环境下,UEFI调整服务器性能后也可对IO有10%左右的加成;
调整项如下(有兴趣可参考):
Operating Mode
Power
Processor
Memory
若有疑问可直接在公众号中留言,我们接到反馈,会及时回复,感谢您的阅读,如果您喜欢我们的文章,还请关注并帮忙宣传;
领取专属 10元无门槛券
私享最新 技术干货