存储课堂:NAS存储系统性能优化攻略(二)

EMC 林沛满 发表于:12年05月08日 13:53 [转载] IT168

  • 分享:
[导读]熟悉网络的读者可能会存疑:在局域网里的往返时间(RTT)很短,读写的总时间其实大多消费在服务器的响应上。smb2的改进看起来只节省了RTT,可能达到大幅度提升(比如数倍)的效果吗?

明白了这两个机制后,我们再逐条分析TCP对性能的影响因素:

1、TCP滑动窗口:如果要把10块砖从A地搬到B地,你是一次搬一块,总共搬10次,还是一口气搬10块呢?在力气允许的条件下,自然是一口气搬 完速度快,因为节省了往返时间。网络传输也是如此,如果有10个TCP包要传,在带宽允许的情况下应该一起发送,而不是发一个就等确认,然后再发下一个。 举个例子,假如往返时间 RTT是2毫秒,那10个包逐个传至少要花20毫秒;一起传就只需要2毫秒多一点,对性能的提高是显而易见的。除此之外,在发生丢包的时候,大窗口可以提 高快速重传的概率,减少了超时重传。比如10个包一起传时,前6个包中任何一个丢失都可以由接下来的4个包触发快速重传。而每次传4个包是永远等不到快速 重传的机会的。

2、多线程:在一个TCP session里,如果存在多个线程,也可以在丢包时提高快速重传的概率。还记得《NAS性能优化之一》里关于smb2的“叫外卖”图片吗?在第一个请求 没有完成的情况下,就可以发送第二个请求。如果第一个请求有丢包,那第二个请求的包可以帮忙凑满四个,从而触发快速重传。本文开头提到的读者在测试 smb2时得到大幅度的性能提升,很可能就得益于此。除了SMB2和NFS协议,EMC免费提供的EMCOPY工具也能在SMB中实现多线程拷贝。

3、超时重传时间(RTO):这是一个动态值。RFC规定了计算该值的方法,但是结果比较大,已经不适用当今的网络环境了。有些NAS(比如Celerra)提供一个设置,允许强制把该值改小。

4、Jumbo Frame:中文好像翻译为巨帧。就是把MTU增大到9000,从而减少TCP头和IP头在一个网络包中所占的比例。理论上这是能提高性能的,但是实际效果却不一定。因为大包的丢失概率更大一点,而且包数少了,就更有可能发生超时重传。

5、网络拥塞:除了网络配置出错(比如两端的speed/duplex不符合),另外一个导致丢包的因素就是网络发生拥塞。如何避免呢?最有效最简 单的方法当然是购买更高端的switch,但这也是最难被接受的建议。有一个将就的办法,就是人为的把TCP滑动窗口强制在拥塞点以下。宁愿每次少传一 点,也不要丢包。有些 NAS(比如Celerra)提供了强制最大滑动窗口的设置,但是要确定一个合适的拥塞点比较麻烦,需要抓大量的包分析。

写到这里,突然想到可以写几篇如何利用Wireshark分析网络包的。不过,这个读者群应该比NAS还小很多吧?

[责任编辑:王振]
昆腾公司已经算是存储行业的“老手”了,在磁带市场一直保持着优势。随着存储技术的发展,昆腾又适时做出调整,开展磁盘方面的业务。
官方微信
weixin
精彩专题更多
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
12月15日,中国闪存联盟成立,同时IBM Flash System卓越中心正式启动
DOIT、DOSTOR、易会移动客户端播报中国存储峰会盛况。
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved.