工程师笔记︱SC5020存储读写性能差距很大,我是这么帮客户解决的 原创

近期某客户在测试戴尔易安信SC5020F存储时,遇到了读写性能相差较大的问题,最后在戴尔易安信工程师的帮助下,尝试了多个角度进行解决。其思路有一定借鉴意义,希望大家在遇到类似问题时能够有所帮助。

近期某客户在测试戴尔易安信SC5020F存储时,遇到了读写性能相差较大的问题,最后在戴尔易安信工程师的帮助下,尝试了多个角度进行解决。其思路有一定借鉴意义,希望大家在遇到类似问题时能够有所帮助。

 工程师笔记︱SC5020存储读写性能差距很大,我是这么帮客户解决的

配置信息:

客户测试的戴尔易安信SC5020配置为满配30块960G SSD硬盘,连接到戴尔易安信25G网络交换机S5048,希望测试25G iSCSI性能。在其测试服务器安装好DSM软件,将一台服务器通过iSCSI方式连接到SC5020上之后,遇到了三个问题

 工程师笔记︱SC5020存储读写性能差距很大,我是这么帮客户解决的

一问题发现

第一个问题:在进行初始化配置存储后,遇到了服务器端使用iscsiadm工具login时无法正常找到LUN的问题

 

? 这个问题是在存储初始化配置及LUN设置后,需要重启一次,即可正常识别,所以此问题通过重启存储解决。

另一个问题是:存储初始化配置完成后,客户希望使用RESTful API对SC存储进行统一管理。绝大部分命令通过RESTful API对存储操作都可以通用,但是在使用RESTful API调用存储复制功能时报错。

? 此问题可以根据报错提示找到Instance Id,加到对应的py测试脚本里面即可。

第三个问题是存储性能测试方面。客户的测试服务器CPU为E52603 (主频较低)。OS为Red Hat 7u6。25Gb网卡为Mellanox CX5,驱动版本为5.0。网卡用iPerf做本地测试,单口能够到2.3-2.4GB/s。

SC5020存储的SCOS版本为7.3.5.8。存储配置30块RI磁盘,放置在同一个磁盘目录中。配置了2个4TB卷,2个8TB卷,共四个卷。使用Fio跑性能测试,设置1 Queue Depth,50 Thread,得到的测试结果很不理想,随机写最大8万IOPs,随机读接近4万IOPs,相差很大

 二问题排查

经过与客户的沟通之后,了解到客户实际应用场景是存储共享给多租户使用,最想知道服务器在单LUN下是否就能达到最大性能,还是需要多LUN才能达到存储最大性能。

如果是后者,需要我们(戴尔易安信工作人员)给出大概多少个LUN能够达到存储性能上限。于是我们尝试划分多个LUN,通过自行划卷测试存储最大性能

我们划分了22个100GB的卷,测试结果如下:

自行划卷测试

A:测试8 LUN时,4K随机读:服务器端看到的性能接近12万IOPs,平均每LUN性能接近1.5万IOPs。测试22 LUN时的IOPs最大值也是12万。

B:测试8 LUN时,4K随机写:服务器端看到的性能接近10万IOPs,平均每LUN性能接近1.2万IOPs。测试22 LUN时的IOPs最大值也是10万IOPs。存储后端磁盘视角看到的IOPs最大值接近30万。

C:测试8 LUN时,1M顺序写:服务器端看到的性能接近1.2GB/s,测试22 LUN时的IOPs最大值也是1.2GB/s。

D:测试8 LUN时,1M顺序读:服务器端看到的性能接近400MB/s,测试22 LUN时的IOPs最大值也是400MB/s。

注:这台SC5020存储配置30块读敏感(Read Intensive)磁盘。顺序读测试已经尝试过打开或关闭存储Cache,测试结果接近。

通过上述测试结果可以发现,写性能远远超过读性能。因此,客户希望尽快解决存储读性能的问题,给出该配置下最大预期性能,并使用他们的测试方法验证送测SC5020的最大性能。

由于有一些数据在这台测试机中需要用作其他设备的测试,没有其他测试环境可以使用,所以无法重装系统,于是我们只能从后端找解决办法:

?后端提供的存储最佳实践:

1)目前测试环境里配置了一个Fault Domain, 最佳实践建议配置2个Fault Domain, 通过2个ControlPort 的iSCSI target实现多路径,提升性能表现;

2)主机方面检查多路径配置。

? 关于LUN的数量和存储性能:

SC存储的性能在后端多个LUN并行读写时能更好地体现。SCOS 7.3最大限制为2000,但客户环境中多少个LUN能体现最大性能,需要根据环境的配置逐渐添加LUN个数进行测试。

如果在各类型测试中存储卷没有表现出较高延时(一般20ms以下认为性能非常好),那么认为存储方面还可以承受更大的压力。后续可以尝试测试时增加端口数量、增加Fault Domain数量、增加主机数量/链路、增加LUN个数、调整测试工具参数(如增加Queue Depth)或使用其它测试工具如IOMeter对照参考。

如果条件允许,改换为FC前端以测试存储后端性能。即如果加大测试工具的线程数或Queue Depth,双卷应该可跑到CML存储的最大性能(指目前能够测试得到的小IO size压力下的最大IOPs)。

? CML/EQL关于交换机的iSCSI优化文档内容详细可以根据说明进行设置。此外,主机iSCSI设置部分还可以参考Mellanox的一些adapter优化文档。

目前,SC5020的128K顺序读测试能够到2.6GB/s,是因为服务器端只启用了一个25Gb端口。如果有更多AOC线缆,SC5020的顺序读操作正常情况应该能够超过2.6GB/s带宽。然而采用了两个25Gb端口后,IOPs测试结果与上次得到的结果一致,没有进一步提升

工程师笔记︱SC5020存储读写性能差距很大,我是这么帮客户解决的 

三使用最佳实践测试

在当前可以满足要求的情况下,执行上述各个最佳实践的要求后继续测试,性能测试结果如下:

最佳实践测试

A:测试4 LUN/2 LUN时,4K随机读:服务器端看到的性能超过12万IOPs。

B:测试4 LUN/2 LUN时,4K随机写:服务器端看到的性能接近10万+IOPs。

C:测试4 LUN时,128K顺序写:使用客户脚本,服务器端看到的性能接近2.0GB/s。

D:测试4 LUN时,128K顺序读:使用客户脚本,服务器端看到的性能2.6+Gb/s(AOC线缆数量有限,如果AOC线缆充足,这个值应该还能提升)。

可以看到,虽然有一些提升,但是还是不大。逐一排查之后,还是把问题回归到了客户提供的这台测试服务器系统存在问题,于是与客户反复沟通之后,同意了服务器系统重装:

在服务器操作系统以及多路径软件重装之后,系统测试数据和稳定性均恢复正常。并且在单台服务器的测试压力不足以体现SC存储性能的情况下,增加了一台前端服务器来增加测试压力,获得了较满意的测试结果。具体测试结果如下:

重装之后测试结果

单机:

A:测试4 LUN/2 LUN时,4K随机读:服务器端看到的性能超过20万IOPs。

B:测试4 LUN/2 LUN时,4K随机写:服务器端看到的性能接近15万IOPs。

C:测试4 LUN时,128K顺序写:服务器端看到的带宽接近2.5GB/s。

D:测试4 LUN时,128K顺序读:服务器端看到的带宽为2.9+GB/s。

双机:

A:测试4 LUN时,4K随机读:服务器端看到的性能为38万IOPs。

B:测试4 LUN时,4K随机写:服务器端看到的性能接近19万IOPs。

C:测试4 LUN时,128K顺序写:服务器端看到的带宽接近5GB/s。

D:测试4 LUN时,128K顺序读:服务器端看到的带宽为6GB/s。

四问题解决

重装之后的测试结果来看,单根25G链路带宽已经达到理论上限,目前存储仅连接225G AOC即可达到6GB的带宽,存储整体IOPs测试数值也达到该配置的一个理论上限,考虑延迟仍然保持在较低的水平,理论上IOPs还有提高的空间。

工程师笔记︱SC5020存储读写性能差距很大,我是这么帮客户解决的 

目前回顾整个过程,问题基本定位在客户旧有系统的多路径软件问题上,这也提醒我们,测试工作除了己方的优化,在客户现场进行测试的时候,一定要跟客户沟通好测试环境需要按照我方要求重新部署,客户旧有的环境存在太多未知因素,会给测试结果带来不可预估的影响

 工程师笔记︱SC5020存储读写性能差距很大,我是这么帮客户解决的

相关阅读推荐:工程师笔记︱趁降价采购了一批SSD,结果管理上遇到了问题?

了解更多数字化转型方案查看此链接:

https://www.dellemc-solution.com/home/index.html

来源:戴尔

0赞

好文章,需要你的鼓励

2019

05/19

19:49

分享

点赞

邮件订阅
白皮书