- 论坛徽章:
- 0
|
来晚了
使用NFS时,rsize和wsize的大小对性能的影响非常大。因此经常需要对其进行调整,在一些特定的场合默认的设置不见得是最好,但不管怎么设置,都应该是1024byte的倍数。
可以通过dd来进行测试,然后选择表现最好的参数。按理说都可以到23k,LZ难道你的NFS server版本很低吗?
示例NFS客户端的参数配置
nfsvers=3,wsize=32768,rsize=32768,rw,bg,intr,hard,tcp
参数 意义
nfsvers=3 NFSv3,默认是 NFSv2,而 NFSv4 比较复杂,不是所有内核都支持。
wsize=32768 设置 32K 的写缓存,对于 UDP 方式来说,8K 是推荐值。
rsize=32768 设置 32K 的读缓存,对于 TCP 方式来说,32K 是推荐值。
rw 读写方式,根据权限需要有时也设置为 ro(read only)
bg 如果安装失败(服务器没有响应), 在后台一直尝试,继续发其他的安装请求
hard 如果服务器当机,让试图访问它的操作被阻塞,直到服务器恢复为止
intr 允许用户中断被阻塞的操作(并且让它们返回一条错误消息)
tcp 选择通过 TCP 来传输,默认的 UDP 不好。
测试NFS写操作:
假设256M的数据,分别按4k, 8k, 16k的BlockSize大小进行测试:
time dd if=/dev/zero of=/home/x/testfile bs=4k count=65536
time dd if=/dev/zero of=/home/x/testfile bs=8k count=32768
time dd if=/dev/zero of=/home/x/testfile bs=16k count=16384
多测试几次,就可以根据时间来判断最佳的wsize大小。
测试NFS读操作:
假设256M的数据,分别按4k, 8k, 16k的BlockSize大小进行测试:
time dd if=/home/x/testfile of=/dev/null bs=4k
time dd if=/home/x/testfile of=/dev/null bs=8k
time dd if=/home/x/testfile of=/dev/null bs=16k
多测试几次,就可以根据时间来判断最佳的rsize大小。
LZ可参考这里:
http://www.ixdba.net/article/2b/155$4.html
http://hi.baidu.com/thinkinginla ... dcfcfc1a4cff8a.html
http://www.cnitblog.com/tarius.wu/articles/326.html
http://nfs.sourceforge.net/nfs-howto/
[ 本帖最后由 yuhuohu 于 2009-2-25 11:46 编辑 ] |
|