提高samba的传输速度

修改配置文件提速buffalo LS-WVL的samba共享速度
文件:/etc/init.d/smb.sh
找到start函数,在configure下添加一行addconfigforspeed

start()
{

configure
addconfigforspeed

}

添加函数定义如下:

addconfigforspeed()
{
sed ’12 a #kakashi5240 add start’ i /etc/samba/smb.conf
sed ’13 a read size = 65536′ i /etc/samba/smb.conf
sed ’14 a read prediction = yes’ i /etc/samba/smb.conf
sed ’15 a socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072′ i /etc/samba/smb.conf
sed ’16 a write raw = yes’ i /etc/samba/smb.conf
sed ’17 a read raw = yes’ i /etc/samba/smb.conf
sed ’18 a aio read size = 16384′ i /etc/samba/smb.conf
sed ’19 a aio write size = 16384′ i /etc/samba/smb.conf
sed ’20 a write cache size = 262144′ i /etc/samba/smb.conf
sed ’21 a getwd cache = yes’ i /etc/samba/smb.conf
sed ’22 a large readwrite = yes’ i /etc/samba/smb.conf
sed ’23 a #kakashi5240 add end’ i /etc/samba/smb.conf
sed ’24 a’ i /etc/samba/smb.conf
}

重启:

$/etc/init.d/smb.sh restart

其实这样做的目的在于指定异步读写的块大小/读缓存设置/写缓存设置/大文件读写优化等设置,(LS-WVL默认值已经够用,纯属折腾哈)目前我用千兆交换机把nas和几台电脑连接起来发现读速度已经达到80-90MB/s ,写已经达到50-60MB/s,已经达到了buffalo的标称值了,如果能再提高个6%-8%,其实是锦上添花而已,纯粹技术研究。

另一方法:
文件:smb.conf
smb.conf文件修改后,速度可以提升不少,不过不同NAS支持的环境差异,配置文件有所不同,需要调整个别参数。

use sendfile=yes
read size = 65536
read prediction = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
write raw = yes
read raw = yes
max xmit=65535
aio read size = 16384
aio write size = 16384

最好在smb.conf加上几个参数

max connections = 0

deadtime = 0

max log size = 500

security = share

password server = *

此条目发表在BSD分类目录,贴了, 标签。将固定链接加入收藏夹。