存储课堂:NAS存储系统性能优化攻略
新浪科技 发表于:12年06月11日 09:19 [转载] 新浪科技
CIFS的写操作和读操作方式相似,对于相同点就不再赘述。不同点主要体现在响应时间的优化方式上。服务器为了优化写操作的响应时间,一般采用 write cache的方式。也就是服务器先把客户端写过来的数据存在cache里,然后向客户端确认。接下来再慢慢把cache里的数据刷进磁盘。当然这种方式存在一定的风险,如果服务器突然断电,cache里的数据就会丢失。客户端的应用程序可以启用write throuth来避免write cache。
下面,我们再看看NFS的工作方式。
和CIFS不同,NFS共享在使用前需要挂载(mount)。挂载时使用的参数很大程度上影响了读写的性能。列举如下:
1. UDP或TCP:在网络非常稳定的情况下,UDP理论上比TCP性能好一点,因为UDP包在协议上的消费比例低。但是如果有网络包丢失,TCP就显示出优势。因为UDP包丢失时,整个读/写操作的所有包都要重传;而TCP包丢失时,只需重传丢失的那个包即可。

2. rsize和wsize,每次读写的最大值。该值对性能的影响和CIFS的第二点是一样的,所以不再赘述。
3. sync和async,sync意味着服务器需要把数据写到磁盘再确认;async则意味着服务器可以把数据存到cache里就确认,然后再慢慢把 cache里的数据刷进磁盘。有一个经常被忽视的严重问题:sync参数会强制wsize变成4KB,这会大大降低写性能。
