【长篇原创连载】煮“九”谈“千”第十六回《协议增强,性能称王》
|
第十六回 协议增强,性能称王 天下武功,唯快不破。昔年小李探花,阿飞剑侠,乃至左手剑快,右手更快的荆无命,都是占得一个快字。置身4K大数据时代,行走存储江湖,不快怎么能行。今天就来领教一下欧九仟在媒资领域,基于NFS协议增强的看家本领,且看少侠如何性能称王。 大4K应对不易 从标清到高清再到超高清,电视已经全面支持4K视频。每路4K视频需要400Mbps的带宽,到底4K有多大,可以参考下图。 这大大的4K,意味着对于“采编播管存”这些系统派门,需要4倍的存储空间,4倍的性能和4倍的数据迁移时间。 多链路同心协力 Mac OS X客户端是媒体编辑一众弟子的拿手兵刃。怎奈同存储联合作战,共享目录进行读写之时,通常只能与存储集群建立单连接。如图所示,客户端有四个网口,但只有一个网口能够建立链路,带宽能力无法发挥。这样既限制了存储设备的性能发挥,又浪费客户端的网口资源。 引入NFS协议增强特性,安装DFSClient,可以在客户端配置多个网口与OceanStor 9000之间多连接,充分提升带宽和数据传输效率。具体过程如下: 1. Mac OS X客户端向OceanStor 9000发起连接请求。 2. OceanStor 9000返回多个动态前端业务IP地址,每个IP地址与Mac OS X客户端的一个IP地址建立连接。 Mac OS X客户端建立链路示意 其中根据Mac OS X客户端待建立连接的IP地址数(下面用字母M表示)和OceanStor 9000的动态前端业务IP地址数(下面用字母S表示),DFSClient建立的链路数目为两个IP地址数中的最小数目: l M大于等于S:OceanStor 9000将返回全部的动态前端业务IP地址,可建立的链路数目为S。 l M小于S:OceanStor 9000将随机返回动态前端业务IP地址,返回的个数为M,可建立的链路数目为M。 上层业务并发视频文件读写,一个文件在一条链路上传输,当遍历完所有链路时,将再次选择第一条链路传输文件。这样依次循环的选择链路进行文件传输。 Mac OS X客户端数据传输示意 秒缓存智藏神机 一、增大I/O粒度 NFS共享读写I/O粒度通常最大只有64KB,而4K视频,几分钟时长的片源即可达到几个GB,造成客户端与存储节点频繁交互进行数据读写,形成卡顿瓶颈。 以客户端中的一条链路读取1024KB数据的业务为例,优化前需要交互16次。当读粒度增加为1024KB时,只需要1次交互就可以完成数据读取。 I/O粒度增大前后对比 DFSClient突破64KB块粒度的限制,最大可支持读粒度1024KB、写粒度128KB的大I/O粒度,可以有效减少交互次数,有效利用端口物理带宽。 二、优化预读条件 读模式分为随机读和顺序读两大类,在顺序度场景下可以进行预读。文件预读指提前将数据量读到缓存中,在上层应用需求数据时,直接从缓存读取数据,有效减少磁盘的寻道次数和上层应用的等待时间。 但是在媒资场景使用的非编软件要处理多种多样的媒体文件格式,很多媒体文件播放的时候,不属于完全顺序读取,而取决于媒体文件的编码格式,例如某些文件格式中视频数据以及音频数据不是连续存放的,拥有各自的视频区域以及音频区域。 此时播放软件会一段时间读取视频数据,随后又读取音频数据,导致经常有IO超出预读范围,转而下发到磁盘读取,造成较大时延。预读线程根据之前读取规律,将POS1与POS2之间的数据提前载入缓存,但之后的IO并不是按照之前规律与POS1是相邻的,而是跳跃了一些位置读取,此时就会出现缓存无法命中。 Mac OS X客户端的缓存数据量充足时,缓存直接返回上层应用需求的数据量,且不会向存储集群读取数据。只有当缓存数据量不能满足上层应用需求时,缓存才向OceanStor 9000发起读请求,且需等待缓存读取满后,才返回给上层应用需求的数据。从而造成OceanStor 9000读请求集中,同时由于一次读取的数据量较多,需要耗费较长的读取时间,造成上层业务的响应时延变长。详细说明如下图所示。 优化前Mac OS X客户端的预读条件示意 如下图,NFS协议增强特性通过在Mac OS X客户端中安装DFSClient,针对Mac OS X客户端的预读条件进行优化。优化后当上层应用向缓存发起数据读请求时,就触发缓存向OceanStor 9000发起预读,保证缓存中的数据量,并避免了大量的读请求和上层应用的等待时延。 优化后Mac OS X客户端的预读示意 只能缓存支持主流非线性编辑应用软件为Final Cut Pro ,Adobe CC和Avid Media Composer。常见的视频编码格式:mxf和mov。 除以上外,欧九千的InfoTurbo性能加速特性还包括在高性能计算场景RHEL客户端增强,以及SMB3.0协议下的Multichannel等种种手段,待后续慢慢道来。 恩,今天的分享就到这里,下回将奉上InfoContainer,敬请期待。 本帖最后由 乐享问道 于 2017-02-27 11:21 编辑 |
本帖被以下专题推荐:
- · 煮“九”谈“千”话存储|
全部回复
回复
内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“用户协议”
