本帖最后由 宋智仲 于 2024-10-16 18:54 编辑
EDS替换FC-SAN存储之性能测试
一、项目背景 某医疗客户,HIS数据库和PACS数据库使用的FC-SAN存储,由于空间不足、扩容不方便、性能较低,于是替换为我们的EDS块存储。 正式业务迁移过来之前,要求先进行EDS块存储性能测试,用以确定EDS能够替代FC-SAN承接关键业务。
性能测试客户预期:优于原FC-SAN存储 测试目标:性能达标,让客户放心将业务迁移到EDS块存储
二、测试环境: 1、拓扑:
2、EDS块存储配置: 块存储池每台台服务器1块SSD与3块HDD
3、测试服务器配置 惠普测试服务器: 网卡Intel 52599 10G / CPU是E5-2630 主频2.4G HIS备机: 网卡Intel x520 10G的网卡 / CPU是E7520 主频是1.8G
4、客户原存储环境: 8GFC存储
5、测试工具 IOmeter
三、测试过程: 1、 服务器测试前,先在EDS内部测试,确认EDS内部性能没问题; EDS服务器后台通过Fio测试工具,相同条件下测试4K100%随机写:IOPS 38824,4K100%随机读:IOPS 68409。数据表明与实验室理想数据较为接近,满足最佳性能要求。 4K :写 114M/s ;读 264M/s
1M:写508M/s ;读1076M/s(如下图) 4K写 4K读 1M写 1M读
2、 服务器测试 惠普服务器测试使用IOmeter进行测试; 4K :写 106M/s;读115M/s
1M:写439M/s;读:906M/s 测试结果接近EDS内部测试,性能达标
HIS备机测试结果: 4K 写 96.73M/s;读 65.59M/s 1M 写:497.02M/s ;读:240.28M/s 读性能比较低,但由于CPU主频比较低,判断应该是主频因素影响了,这点客户可以接受。
当前测试模式为1SSD+3HDD,实验室数据的测试模型为3SSD+6HDD,由于读测试: 做了远端读,所以可以使用远端的SSD。而写测试: 要写两个副本,当前只有一个SSD,对比实验室数据读写都已经达到了极限了。所以目前测试服务器的数据,满足最佳实践需求。
3、 与原FC存储对比测试 测试机使用的是HIS备机 与FC存储对比测试的时候,发现EDS块存储写性能明显优于原FC-SAN,但是读性能与FC-SAN差距比较大; 因此怀疑可能是因为FC-SAN有内存读缓存功能; 通常我们测试前会写1M的大块,这里我们尝试测试高于存储服务器内存的LUN,并预写500M大块后,排除读缓存干扰进行对比测试; 按照这个方法测试后,验证了FC-SAN确实有内存读缓存功能,在排除该功能干扰后,EDS读写性能都优于原FC-SAN。 测试结果对比: 排除干扰前 EDS测试结果如下表 旧FC存储测试结果如下表
排除干扰后
4、数据库性能测试 经过前面判断FC-SAN的性能优于块存储,是因为有内存读缓存的干扰,实际的真实业务场景,理论上很少会用到内存读缓存功能,目前数据库的数据大于旧FC存储服务器的内存大小,几乎都不会命中读缓存,这个功能等于是失效的。 另外业务如果满足局部性原理,大部分数据读都是在数据库内存命中的,对存储读要求很低。 为了面对客户更有说服力,我们便使用DMP搭建相同的两个数据库,分别挂载EDS块存储和FC存储,来实际的测试数据库挂载两个存储的数据库性能。 测试结果: 并发数 初始化数据 EDS块存储 FC存储 100 100仓 56W tpm 10W tpm 200 100仓 49W tpm 12W tpm 500 100仓 46W tpm 10W tpm 1000 100仓 49W tpm 9W tpm
经过测试比对,在同样环境下EDS块存储的数据库性能明显优于FC存储的数据库性能。
四、测试过程中遇到的坑: 在测试过程中,服务器测试实际进行了两次测试,第二次测试与第一次测试相隔了一个月,但是第二次测试的时候,发现性能无论如何都测不到第一次的性能结果; 通过排查发现,第二次测试服务器环境内多安装了EDR;将EDR卸载后,性能恢复正常;协调EDR研发排查后,sfenetmon_xs、sfesp、sfwtp三个与网络相关的驱动影响EDS的读写性能,将三个驱动禁用后,性能恢复正常。 可以确认是由于EDR影响了网络性能,从而影响了存储IO性能。
五、总结: 1、 排除FC-SAN内存读缓存后,可以得出EDS块存储性能优于原FC存储; 2、 通过数据库性能测试,得出EDS块存储性能明显优于原FC存储的性能,大大增加了说服力,客户可以放心的将业务迁移到EDS块存储。 |