性能8倍提升,存储Windows客户端破解SMB性能困局

说起存储性能,我们就不得不说存储访问协议,Windows场景下的存储访问协议主要有:标准的SMB协议和私有客户端协议。SMB是Windows系统上主要的共享文件访问协议,与操作系统的兼容性好。但众所周知的,SMB也存在性能问题,在文件传输期间,会有较高的协议开销。对于大文件传输,这些开销仅发生一次,但传输大量小文件时,这种开销则是重复的,这导致SMB协议难以满足渲染以及一些EDA、CAD等高性能计算场景的需求。为了解决这些场景下共享文件系统的性能访问瓶颈,焱融科技发布了YRCloudFile的Windows客户端,实现了在Windows服务器上对YRCloudFile集群的并行访问,从而提升Windows应用对大小文件的访问性能。

一般的分布式文件存储(例如CephFS、MooseFS以及其它一些商业分布式文件系统),是通过将底层文件系统挂载至某些节点上,再在这些节点上运行SMB服务,从而将文件系统以SMB方式向外提供访问,多个SMB节点通过CTDB+Keepalive或DNS域名转换的方式组成SMB集群,提供给SMB客户端服务器。当客户端规模不断变大,多客户端会产生SMB服务器负载不均的问题,为了解决这个问题,很多方案会引入DNS来实现客户端负载的平均分配,但是在大规模并发的情况下,DNS访问相当频繁,DNS会成为瓶颈。

YRCloudFile分布式文件系统Windows客户端可以像Linux客户端那样,由客户端访问YRCloudFile分布式元数据服务,获得数据地址后直接访问数据的存储节点,不需要引入SMB服务器和DNS,实现数据访问的自动均衡。

SMB客户端读写一个文件的时候只能向一个目标SMB服务器发起请求,而文件数据被打散分布在多个存储节点上的,所以整个IO路径会在SMB服务器上有一个中转操作。我们可以将SMB客户端与SMB服务器之间的数据流量称为外部流量,将存储节点之间的数据流量称为内部流量,在这种方案中,SMB服务器相当于将网络带宽的一部分用来作为内部流量访问实际数据,从而影响SMB客户端访问文件系统的性能。

 

YRCloudFile Windows客户端的IO路径,如下图所示,数据块的最终目的地是哪个存储节点,YRCloudFile Windows客户端就直接向这个存储节点发送数据访问请求,不再需要进行中转,与SMB相比,减小了延时的同时增加了总体带宽。

YRCloudFile Windows客户端实测性能

前面都是原理上的分析,SMB协议与YRCloudFile Windows客户端对比,性能到底有多大区别呢?

在8台AWS EC2服务器组成的YRCloudFile集群中,我们分别使用200、400 Windows客户端和SMB客户端连接文件系统,在并发访问10000个4KB小文件的测试中, YRCloudFile Windows客户端每秒打开/读取(open/read)文件的性能是SMB客户端的7-8倍。

AWS 8 Server存储集群小文件读性能对比

 

为了测试大规模Windows客户端并发访问的场景,焱融科技与AWS针对实际渲染应用进行了联合测试。在8台EC2服务器组成的YRCloudFile集群中,我们分别使用500、600、700、850、1000台Windows客户端,运行MAYA渲染程序,对原始素材进行了渲染测试。在下图中展示了8台集群服务器的网络输出流量,可以看到,在渲染过程中,网络输出的总流量随着客户端数量的增加平稳上升并持续稳定,客户端加载渲染素材的平均时间控制在160秒左右,可以满足大规模渲染场景并发访问对共享文件系统的性能需求。

AWS 8 Server存储集群+1000个Windows客户端并发

渲染、EDA(Electronics Design Automation,电子设计自动化)、CAD(Computer Aided Design,计算机辅助设计)、CFD(Computational Fluid Dynamics,计算流体动力学)等应用,都大量使用Windows平台,而这些应用对底层共享文件系统的访问性能具有极高要求。YRCloudFile是已经被验证的高性能分布式文件系统,随着YRCloudFile Windows客户端的推出,YRCloudFile的高性能访问能力就可以在Windows平台上得以进一步发挥。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值