For all tests:
192.168.1.10 is a synology NAS with 1Gb ethernet - smbd 3.2.8 (DSM 3.1-1613)
192.168.1.9 is a dell xps 1330 with 100Mb ethernet - upto date 11.04 distro (smbclient says 3.5.8)
192.168.1.11 is an asus U36jc with 1Gb ethernet up to date win 7
they are linked to a netgear GS 108 SWITCH rated for Gb ethernet
No other equipment is connected
The NAS is the first SMB server
Download test
iperf -c 192.168.1.10 -f M -p 2222
------------------------------------------------------------
Client connecting to 192.168.1.10, TCP port 2222
TCP window size: 0.02 MByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.9 port 55114 connected with 192.168.1.10 port 2222
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 99.5 MBytes 9.94 MBytes/sec
Upload test
DiskStation> iperf -c 192.168.1.9 -f M
------------------------------------------------------------
Client connecting to 192.168.1.9, TCP port 5001
TCP window size: 0.02 MByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.10 port 2142 connected with 192.168.1.9 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 112 MBytes 11.2 MBytes/sec
9.94MBytes is my baseline and sounds right for 100Mb ethernet
With no modification on either the server or the client here is what I get with smbclient.
SMBCLIENT Download test
smbclient //192.168.1.10/public
Enter jean's password:
Domain=[JEAN] OS=[Unix] Server=[Samba 3.2.8]
smb: \> get ubuntu-11.04-server-i386.iso
getting file \ubuntu-11.04-server-i386.iso of size 686493696 as ubuntu-11.04-server-i386.iso (11126,9 KiloBytes/sec) (average 11126,9 KiloBytes/sec)
smb: \>
SMBCLIENT Upload test
jean@xps:~/opt/mnt$ smbclient //192.168.1.10/public
Enter jean's password:
Domain=[JEAN] OS=[Unix] Server=[Samba 3.2.8]
smb: \> put ubuntu-11.04-server-i386.iso.up
putting file ubuntu-11.04-server-i386.iso.up as \ubuntu-11.04-server-i386.iso.up (9881,6 kb/s) (average 9881,6 kb/s)
smb: \>
smb client yields speeds which seem fine for a 100 Mb connection
CIFS without modifications downloads fine but uploads ver very slowly we lost one order of magnitude. This is the same as what I observed through nautilus using only graphical interfaces and no command line
Following ubuntu 810606 bug first debug instruction :
create
/etc/modprobe.d/cifs.conf
with content
options cifs CIFSMaxBufferSize=130048
We are back to the speeds observed without cifs.conf which doesn't seem to have helped
Unmounting the share and adding the second recommandation and changing fstab
//192.168.1.10/public /mnt/test cifs credentials=/etc/credentials.del,rw,_netdev,rsize=32768,wsize=32768,uid=jean,gid=users 0 0
jean@xps:/mnt/test$ cat /proc/fs/cifs/DebugData
Display Internal CIFS Data Structures for Debugging
---------------------------------------------------
CIFS Version 1.71
Features: dfs lanman posix spnego xattr
Active VFS Requests: 0
Servers:
1) Name: 192.168.1.10 Domain: JEAN Uses: 1 OS: Unix
NOS: Samba 3.2.8 Capability: 0x80f3fd
SMB session status: 1 TCP status: 1
Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
Shares:
1) \\192.168.1.10\public Mounts: 1 Type: NTFS DevInfo: 0x0 Attributes: 0x50027
PathComponentMax: 255 Status: 0x1 type: 0
MIDs:
[51205.996410] CIFS VFS: server 192.168.1.10 of type Samba 3.2.8 returned unexpected error on SMB posix open, disabling posix open support. Check if server update available.
Next attempt with an up to date windows 7 computer with 1 Gb Ethernet as the server same client
smbclient //192.168.1.11/temp
Enter jean's password:
Domain=[NOIR] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]
smb: \> get grdive.rar
getting file \grdive.rar of size 617250416 as grdive.rar (11415,3 KiloBytes/sec) (average 11415,3 KiloBytes/sec)
smb: \> put grdive.rar2
putting file grdive.rar2 as \grdive.rar2 (8153,5 kb/s) (average 8153,5 kb/s)
-rw-r--r-- 1 jean jean 617250416 2011-07-18 13:15 grdive.rar
Speeds are about right even if I don't explain the assymetry
Updated the fstab and credentials to point to the win7 share and mounted it
Through nautilus copy from win7 to ubuntu gives 9MB/s
Through nautilus copy from ubuntu to win7 yields 6.7MB/sroot
win7/ubuntu speeds were unaffected by removing cifs.conf and rsize/wsize
Comparing speeds with NAS/Win7 interactions is difficult as they are both on 1 Gb ethernet but I get 15Mb both ways, I don't lose an order of magnitude speed one way.
The order of magnitude loss of speed when uploading to the NAS smb share from ubuntu can't be normal.
I can probably upgrade the samba on my NAS by using command line and ipkg. And yes, in the mean time I am going to pester the synology forums for an SMB upgrade too.
Here is the result of my extensive tests
For all tests:
192.168.1.10 is a synology NAS with 1Gb ethernet - smbd 3.2.8 (DSM 3.1-1613)
192.168.1.9 is a dell xps 1330 with 100Mb ethernet - upto date 11.04 distro (smbclient says 3.5.8)
192.168.1.11 is an asus U36jc with 1Gb ethernet up to date win 7
they are linked to a netgear GS 108 SWITCH rated for Gb ethernet
No other equipment is connected
The NAS is the first SMB server
Download test ------- ------- ------- ------- ------- ------- ------- ---- ------- ------- ------- ------- ------- ------- ------- ----
iperf -c 192.168.1.10 -f M -p 2222
-------
Client connecting to 192.168.1.10, TCP port 2222
TCP window size: 0.02 MByte (default)
-------
[ 3] local 192.168.1.9 port 55114 connected with 192.168.1.10 port 2222
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 99.5 MBytes 9.94 MBytes/sec
Upload test
DiskStation> iperf -c 192.168.1.9 -f M ------- ------- ------- ------- ------- ------- ------- ---- ------- ------- ------- ------- ------- ------- ------- ----
-------
Client connecting to 192.168.1.9, TCP port 5001
TCP window size: 0.02 MByte (default)
-------
[ 5] local 192.168.1.10 port 2142 connected with 192.168.1.9 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 112 MBytes 11.2 MBytes/sec
9.94MBytes is my baseline and sounds right for 100Mb ethernet
With no modification on either the server or the client here is what I get with smbclient.
SMBCLIENT Download test
smbclient //192.168. 1.10/public 11.04-server- i386.iso 11.04-server- i386.iso of size 686493696 as ubuntu- 11.04-server- i386.iso (11126,9 KiloBytes/sec) (average 11126,9 KiloBytes/sec)
Enter jean's password:
Domain=[JEAN] OS=[Unix] Server=[Samba 3.2.8]
smb: \> get ubuntu-
getting file \ubuntu-
smb: \>
SMBCLIENT Upload test
jean@xps:~/opt/mnt$ smbclient //192.168. 1.10/public 11.04-server- i386.iso. up 11.04-server- i386.iso. up as \ubuntu- 11.04-server- i386.iso. up (9881,6 kb/s) (average 9881,6 kb/s)
Enter jean's password:
Domain=[JEAN] OS=[Unix] Server=[Samba 3.2.8]
smb: \> put ubuntu-
putting file ubuntu-
smb: \>
smb client yields speeds which seem fine for a 100 Mb connection
fstab
//192.168. 1.10/public /mnt/test cifs credentials= /etc/credential s.del,rw, _netdev, uid=jean, gid=users 0 0
CIFS Download test
dd if=ubuntu- 11.04-server- i386.iso of=/tmp/ ubuntu- 11.04-server- i386.iso. up
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 101,899 s, 6,7 MB/s
CIFS Upload test
jean@xps:/mnt/test$ dd if=/tmp/ ubuntu- 11.04-server- i386.iso. up of=ubuntu- 11.04-server- i386.iso. up
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 820,385 s, 837 kB/s
CIFS without modifications downloads fine but uploads ver very slowly we lost one order of magnitude. This is the same as what I observed through nautilus using only graphical interfaces and no command line
Following ubuntu 810606 bug first debug instruction : d/cifs. conf ze=130048
create
/etc/modprobe.
with content
options cifs CIFSMaxBufferSi
CIFS 2 Download test 11.04-server- i386.iso of=/tmp/ ubuntu- 11.04-server- i386.iso. up
jean@xps:/mnt/test$ dd if=ubuntu-
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 36,8665 s, 18,6 MB/s
CIFS 2 Upload test ubuntu- 11.04-server- i386.iso. up of=ubuntu- 11.04-server- i386.iso. up
jean@xps:/mnt/test$ dd if=/tmp/
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 818,795 s, 838 kB/s
the first result is aberrant it goes over the theoretical limit of the link, the second one is just as bad as befor.
I unmounted and remounted the share and reran the test changing file names in case there was a caching mecanism I was not aware of
CIFS 3 Download test 11.04-server- i386.iso of=/tmp/ ubuntu- 11.04-server- i386.iso. up2
jean@xps:/mnt/test$ dd if=ubuntu-
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 108,488 s, 6,3 MB/s
CIFS 3 Upload test 11.04-server- i386.iso. up2 if=/tmp/ ubuntu- 11.04-server- i386.iso. up2
jean@xps:/mnt/test$ dd of=ubuntu-
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 810,528 s, 847 kB/s
We are back to the speeds observed without cifs.conf which doesn't seem to have helped
Unmounting the share and adding the second recommandation and changing fstab 1.10/public /mnt/test cifs credentials= /etc/credential s.del,rw, _netdev, rsize=32768, wsize=32768, uid=jean, gid=users 0 0
//192.168.
remounting the share
CIFS 4 Download test 11.04-server- i386.iso of=/tmp/ ubuntu- 11.04-server- i386.iso. up3
jean@xps:/mnt/test$ dd if=ubuntu-
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 108,625 s, 6,3 MB/s
CIFS 4 Upload test
jean@xps:/mnt/test$ dd of=ubuntu- 11.04-server- i386.iso. up3 if=/tmp/ ubuntu- 11.04-server- i386.iso. up3
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 811,71 s, 846 kB/s
still no change
jean@xps:/mnt/test$ cat /proc/fs/ cifs/DebugData ------- ------- ------- ------- ------- ------- -- 1.10\public Mounts: 1 Type: NTFS DevInfo: 0x0 Attributes: 0x50027
Display Internal CIFS Data Structures for Debugging
-------
CIFS Version 1.71
Features: dfs lanman posix spnego xattr
Active VFS Requests: 0
Servers:
1) Name: 192.168.1.10 Domain: JEAN Uses: 1 OS: Unix
NOS: Samba 3.2.8 Capability: 0x80f3fd
SMB session status: 1 TCP status: 1
Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
Shares:
1) \\192.168.
PathComponentMax: 255 Status: 0x1 type: 0
MIDs:
jean@xps:/mnt/test$ cat /proc/fs/cifs/Stats cifs/Stats: Aucun fichier ou dossier de ce type
cat: /proc/fs/
jean@xps:/mnt$ sudo echo 4 > /proc/fs/ cifs/cifsFYI cifs/cifsFYI: Permission non accordée
bash: /proc/fs/
overrode write permission
jean@xps:/mnt$ cat /proc/fs/ cifs/cifsFYI
4
CIFS 5 Download test 11.04-server- i386.iso of=/tmp/ ubuntu- 11.04-server- i386.iso. up4
jean@xps:/mnt/test$ dd if=ubuntu-
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 107,834 s, 6,4 MB/s
CIFS Upload test 11.04-server- i386.iso. up4 if=/tmp/ ubuntu- 11.04-server- i386.iso. up4
jean@xps:/mnt/test$ dd of=ubuntu-
1340808+0 enregistrements lus
1340808+0 enregistrements écrits
686493696 octets (686 MB) copiés, 808,122 s, 849 kB/s
jean@xps:/mnt/test$ cat /proc/fs/ cifs/DebugData ------- ------- ------- ------- ------- ------- -- 1.10\public Mounts: 1 Type: NTFS DevInfo: 0x0 Attributes: 0x50027
Display Internal CIFS Data Structures for Debugging
-------
CIFS Version 1.71
Features: dfs lanman posix spnego xattr
Active VFS Requests: 0
Servers:
1) Name: 192.168.1.10 Domain: JEAN Uses: 1 OS: Unix
NOS: Samba 3.2.8 Capability: 0x80f3fd
SMB session status: 1 TCP status: 1
Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
Shares:
1) \\192.168.
PathComponentMax: 255 Status: 0x1 type: 0
MIDs:
[51205.996410] CIFS VFS: server 192.168.1.10 of type Samba 3.2.8 returned unexpected error on SMB posix open, disabling posix open support. Check if server update available.
Next attempt with an up to date windows 7 computer with 1 Gb Ethernet as the server same client
smbclient //192.168.1.11/temp
Enter jean's password:
Domain=[NOIR] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]
smb: \> get grdive.rar
getting file \grdive.rar of size 617250416 as grdive.rar (11415,3 KiloBytes/sec) (average 11415,3 KiloBytes/sec)
smb: \> put grdive.rar2
putting file grdive.rar2 as \grdive.rar2 (8153,5 kb/s) (average 8153,5 kb/s)
-rw-r--r-- 1 jean jean 617250416 2011-07-18 13:15 grdive.rar
Speeds are about right even if I don't explain the assymetry
Updated the fstab and credentials to point to the win7 share and mounted it
jean@xps:/mnt/test$ dd if=grdive.rar of=/tmp/grdrive.rar
1205567+1 enregistrements lus
1205567+1 enregistrements écrits
617250416 octets (617 MB) copiés, 96,3163 s, 6,4 MB/s
jean@xps:/mnt/test$ cat /proc/fs/ cifs/DebugData ------- ------- ------- ------- ------- ------- --
Display Internal CIFS Data Structures for Debugging
-------
CIFS Version 1.71
Features: dfs lanman posix spnego xattr
Active VFS Requests: 0
Servers:
1) Name: 192.168.1.11 Domain: JEAN Uses: 1 OS: Windows 7 Professional 7601 Service Pack 1
NOS: Windows 7 Professional 6.1 Capability: 0x1e3fc
SMB session status: 1 TCP status: 1
Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
Shares:
1) \\192.168.1.11\temp Mounts: 1 Type: NTFS DevInfo: 0x20 Attributes: 0xc700ff
PathComponentMax: 255 Status: 0x1 type: DISK
MIDs:
new line in dmesg
[57048.066362] CIFS VFS: rsize 32768 too large, using MaxBufSize
jean@xps:/mnt/test$ dd of=grdive.rar2 if=/tmp/grdrive.rar
1205567+1 enregistrements lus
1205567+1 enregistrements écrits
617250416 octets (617 MB) copiés, 88,4556 s, 7,0 MB/s
No new entry in dmesg
Through nautilus copy from win7 to ubuntu gives 9MB/s
Through nautilus copy from ubuntu to win7 yields 6.7MB/sroot
win7/ubuntu speeds were unaffected by removing cifs.conf and rsize/wsize
Comparing speeds with NAS/Win7 interactions is difficult as they are both on 1 Gb ethernet but I get 15Mb both ways, I don't lose an order of magnitude speed one way.
The order of magnitude loss of speed when uploading to the NAS smb share from ubuntu can't be normal.
I can probably upgrade the samba on my NAS by using command line and ipkg. And yes, in the mean time I am going to pester the synology forums for an SMB upgrade too.
Let me know if I can help in any other way.