hi All, We have a glusterfs cluster with 5 nodes on Ubuntu 12.04 amd64. We use this smb.conf: [global] socket options = IPTOS_THROUGHPUT TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=131072 SO_RCVBUF=131072 read raw = yes server string = %h write raw = yes #oplocks = yes max xmit = 131072 dead time = 15 getwd cache = yes use sendfile=yes block size = 131072 load printers = no aio read size = 16384 aio write size = 16384 aio write behind = /*.*/ wins support = no local master = no wins server = 192.168.3.7 veto files = /.AppleDouble/ delete veto files = yes hide dot files = yes printing = BSD max protocol = SMB2 min protocol = SMB2 [projects] path = /W/Projects browseable = yes public = yes guest ok = yes read only = no force user = user force group = user The speed is fine with this configuration, around 100Mbyte/s. If I change protocol to NT1, the speed drops to around 50Mbyte/s. This is from man page: NT1: Current up to date version of the protocol. Used by Windows NT. Known as CIFS. SMB2: Re-implementation of the SMB protocol. Used by Windows Vista and newer. The Samba implementation of SMB2 is currently marked experimental! Why is it still experimental? What does it mean exactly? Is there anything I should avoid it, like file corruption or so? Why NT1 is _much_ slower then SMB2? Thank you, tamas
On Mon, Feb 25, 2013 at 09:38:51AM +0100, Papp Tamas wrote:> hi All, > > > We have a glusterfs cluster with 5 nodes on Ubuntu 12.04 amd64. > We use this smb.conf: > > [global] > socket options = IPTOS_THROUGHPUT TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=131072 SO_RCVBUF=131072Remove the above line. It's pure voodoo. Don't second guess the kernel w.r.t. socket options.> read raw = yes > server string = %h > write raw = yes > #oplocks = yes > max xmit = 131072 > dead time = 15 > getwd cache = yes > use sendfile=yes > block size = 131072 > load printers = no > aio read size = 16384 > aio write size = 16384 > aio write behind = /*.*/ > wins support = no > local master = no > wins server = 192.168.3.7 > veto files = /.AppleDouble/ > delete veto files = yes > hide dot files = yes > printing = BSD > max protocol = SMB2 > min protocol = SMB2 > > [projects] > path = /W/Projects > browseable = yes > public = yes > guest ok = yes > read only = no > force user = user > force group = user > > > > The speed is fine with this configuration, around 100Mbyte/s. If I > change protocol to NT1, the speed drops to around 50Mbyte/s.That will be due to the async requests that the Windows SMB2 redirector uses much more than the SMB1 redirector.> This is from man page: > > NT1: Current up to date version of the protocol. Used by Windows NT. Known as CIFS. > SMB2: Re-implementation of the SMB protocol. Used by Windows Vista > and newer. The Samba implementation of SMB2 is currently marked > experimental!SMB2 in Samba is fully supported from Samba 3.6.0 onwards. It was "experimental" (read, didn't really work :-) in 3.5.x and below. Jeremy.
Possibly Parallel Threads
- smbclient 4.0.7 resolves host name to IP address for SMB2 but not NT1
- smbclient 4.0.7 resolves host name to IP address for SMB2 but not NT1
- smbclient 4.0.7 fails transfer with STATUS_INVALID_PARAMETER and SMB2 but not with NT1
- Increase data length for SMB2 write and read requests for Windows 10 clients
- Linux vs. Windows SMB buffering