超棘手:做好NAS存储性能优化

来源:新浪博客  作者:林沛满
2012/5/10 9:30:22
无论是程序员,DBA还是网管,似乎所有的ITer都会遭遇同一问题:性能优化。NAS从业者也不例外,而且NAS的问题更加棘手,因为它所涉及的协议和设备很多。 

本文关键字: NAS 存储 存储优化
 
2. rsize和wsize,每次读写的最大值。该值对性能的影响和CIFS的第二点是一样的,所以不再赘述。
 
3. sync和async,sync意味着服务器需要把数据写到磁盘再确认;async则意味着服务器可以把数据存到cache里就确认,然后再慢慢把cache里的数据刷进磁盘。有一个经常被忽视的严重问题:sync参数会强制wsize变成4KB,这会大大降低写性能。
 
本文介绍的几种优化方式,比如启用SMB2,增加rsize等,除了它们本身能优化性能,还能提高传输层的性能。
 
为了检验"叫外卖"的方式能提高多少效率,他在NAS和作为客户端的Windows 7上都启用了smb2,果然看到读写性能大幅度提升。
 
熟悉网络的读者可能会存疑:在局域网里的往返时间(RTT)很短,读写的总时间其实大多消费在服务器的响应上。smb2的改进看起来只节省了RTT,可能达到大幅度提升(比如数倍)的效果吗?这个质疑完全正确,但这位读者的实验结果也是真实的。怎么解释这个矛盾呢?答案就在TCP协议上。本文将详解TCP中影响NAS性能的各个因素,包括对以上矛盾的解释。
 
在逐条分析之前,先让我们复习一下TCP的重传机制,因为后面会多次谈及它。当有TCP包在网络上丢失时,TCP有两种机制来实现重传:超时重传和快速重传。下图展示了这两种情况:
 
图1, 发送方只给接收方传送了一个包。不幸的是这个包在网络上丢失了,所以发送方迟迟等不到来自接收方的确认。在经过一段时间(RTO)之后,发送方认为该包已经丢失了,所以重新传了一次。这个机制就是超时重传。RTO能达到数百毫秒,这在计算机世界可以算"浪费很长时间"了,NAS对一个读写请求的响应也就几个毫秒。除此之外,超时重传还会使TCP发送窗口降到最小,更是雪上加霜。如果网络中有超过0.1%的超时重传,我们就能看到明显的性能问题。减少超时重传对提高性能有明显的改善。
 
图2,发送方要给接收方传送5个包,不幸的是第一个就丢失了。由于这个发送窗口>=5个MTU,所以发送方在没有接收方确认的情况下继续发送了四个包。接收方在收到这些包的时候,可以通过包号知道第一个包丢失了。所以收到第n个时(n=2,3,4,5),接收方就发一个"收到n,但1还没收到呢"给发送方(如下图的红线所示)。发送方在收到四个"但是1还没收到呢"的消息后,意识到1可能已经丢失了,就赶紧重传一个。这个机制称为快速重传。由于这个过程没有等待时间,所以对性能影响较小。实现超时重传的条件是发送方在丢了一个包后,接下来还有4个或以上包可以传。
责编:赵龙
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918