前不久在网上看朋友们聊过FC光纤通道存储网络的实际带宽效率,正好手头有点设备,就简单验证一下。
双端口HBA卡和Fibre Channel的高效率
测试平台使用了一台Dell PowerEdge R630服务器,里面的FC HBA卡就是上面的Emulex LPE16002,双端口16Gb/s。
目标存储是Dell SC7020,中间用Brocade 6505交换机连接的端到端16Gb/s FC SAN环境。可以看到上面这台阵列只配了6个1.2TB 10K硬盘驱动器,提供不了所需的带宽。因此我在测试中做了一点“小手脚”,简单说就是不让I/O落盘啦。
注:本文目的在于验证FC HBA卡和网络带宽,不完全代表存储设备在实际应用中的性能。
首先我测试了HBA卡连接1、2个端口时的顺序读带宽。大家知道16G FC的线路速率为14.025GBuad,64b/66b编码后的可用带宽为1600MBps(等同于MiBps,1M=1024K…)全双工。那么我测试到的1575MiBps单向带宽效率已经相当高了,而双端口同时工作的3141MiBps相当接近单端口的两倍。
上图截自Dell Storage Manager中的性能监控,由于是临时测试,我没有特别关照已配置接口、主机的连接状况,左边的警告状态请读者朋友们忽略。可以看到,此时我只连接了存储阵列一个控制器的2个16Gb FC端口,而单一端口的带宽已达1500MB/s以上。
只测到这一步我觉得还不太过瘾,手头没有端口数更高的HBA卡了,SC7020里面不是还有吗?
四端口FC HBA存储目标能否充分发挥?
这时我仍然使用SC7020的一个控制器测试,因为目的是看FC HBA卡的带宽,所以我就把4条光纤都接到上面了。
在《3U机箱中多了些啥?Dell SC7020硬件解析》一文中,我曾介绍过这款阵列控制器的内部结构,上图就是其中使用的QLogic QLE2694——单芯片4端口16Gb FC HBA,工作在Target模式。与之对应,R630服务器上我也增加了第2块双端口16Gb HBA卡以匹配带宽。
更新后的测试图表,增加了右边的四端口数据——6275MiBps很接近双端口带宽的两倍,距离6400MiBps的理论值,效率仍高达98%。此时x8 PCIe Gen3接口还没有成为瓶颈。
上图收集的是顶部控制器4个Fibre Channel接口(来自同一块HBA卡)的总带宽。
6275MiBps的带宽,只用了1个卷(LUN)。如果增加一个LUN,用2个控制器同时测的话,读带宽应该可以接近翻倍,因为是Active/Active。
当然我们在前面说过,这次测试由于驱动器不够所以数据I/O没有落盘,只是测试服务器上HBA卡和存储阵列前端接口之间的性能。我想应该也有朋友想了解贴近实际应用的性能数据,下面引用一个测试报告中的内容分享给大家。
Oracle OLAP存储带宽测试:一台服务器压不满
上图引用自最佳实践手册《Dell SC Series All-FlashArrays and Oracle OLAP Processing》,其中性能测试针对SC7020,双控制器的8个16Gb FC接口全部连接到2个交换机(应该也是16Gb)。此时如果服务器上只有4个16Gb FC端口就不够了,该测试平台索性在PowerEdge R730xd上安装了5块双端口的QLogic QLE2662L。另有一台SC4020阵列存放其它数据。
在这套SC7020中安装了23个1.9TB 3D TLC读密集型SSD,其中包含2块热备盘。
OLAP/DSS压力负载由Oracle Orion工具生成,旨在测试大数据块I/O带宽。我们看到在单台服务器的情况下,当并发线程的提高到36时测出了8893MB/s(这部分应该也是1MB=1024KB)。
考虑到一台服务器产生的压力不够,在增加了第二个主机之后,当每服务器并发线程达到24时测到的最高带宽为9891MB/s。
根据之前的计算,SC7020在连接8个16Gb FC时理论接口带宽为12800MB/s,模拟应用测出上面的效率应该还算不错吧。