[Samba] Nagging performance issues with Vista

Andrew Cook andrewc at ugbox.net
Fri Jun 22 01:29:16 GMT 2007


Hi All,

I've got some performance issues with Samba and Vista that I just can't 
seem to figure out. Googling and fiddling has all been in vain up until 
now, so I'm not sure what I can do other than wait for Samba 4, but 
maybe someone here can find something I've missed.

First off, the server is an Athlon 64 1.8GHz running Gentoo 2006.1, 
tested with both Samba 3.0.24 and 3.0.25a. Gigabit network is handled by 
the onboard nForce controller, and it's got a software RAID 5 setup that 
has been running fine for months.

The client is a dual core Windows box with a PCI-Express gigabit card. 
Netperf pegs the network at 100Mbytes/sec, so there's no problems there. 
Transfers via FTP on both Windows XP and Vista work out around about 
55Mbytes/sec consistently, and SMB transfers under Windows XP also top 
out around 50-55Mbytes/sec, which seems to be the limit of the I/O on 
the client.

Vista however, no matter what I do, will not read from Samba shares at 
any more than around 5Mb/s when copying with Explorer. I timed a few 
different file copies between XP and Vista, and it's consistently ten 
times slower every time. Write speeds seem a lot better (20-30Mb/s). 
This happens with both Samba 3.0.24 and 3.0.25a. I've tried with the VFS 
readahead both on and off. I've tried with NetBIOS over TCP/IP both on 
and off. It's worth noting that if I use the copy command via the 
command prompt, read speeds jump to around 8-9Mb/s, but it's still 
pretty poor.

Kernel version is 2.6.19 with the Gentoo patches. Samba 3.0.24 came from 
Gentoo Portage, while 3.0.25a was compiled directly from sources.

Here's my smb.conf:
--------------------------------------------
[global]
workgroup = PC
netbios name = safari
server string = Samba %v
log file = /var/log/samba/log.%m
max log size = 500
log level = 0

hosts allow = 192.168. 127.

guest account = smbguest
security = user
map to guest = Bad User

[store01]
path = /mnt/store01
browseable = yes
writable = yes
guest ok = yes
guest only = no
create mask = 0755
vfs objects = readahead

[store02]
path = /mnt/store02
browseable = yes
writable = yes
guest ok = yes
guest only = no
create mask = 0755
vfs objects = readahead

[store03]
path = /mnt/store03
comment = store03
browseable = yes
writable = yes
guest ok = yes
guest only = no
create mask = 0755
vfs objects = readahead

[Incoming]
path = /mnt/store01/Incoming
comment = Incoming
browseable = yes
writable = yes
guest ok = yes
guest only = no
create mask = 777
vfs objects = readahead
--------------------------------------------

Samba logs show a few errors, I'm not sure that they're relevant, and 
aren't very frequent (maybe about a dozen of these lines a day), but 
here they are anyway:
--------------------------------------------
[2007/06/22 10:47:05, 0] lib/util_sock.c:read_data(534)
  read_data: read failure for 4 bytes to client 192.168.0.2. Error = 
Connectionreset by peer
[2007/06/22 10:47:05, 0] lib/util_sock.c:write_data(562)
  write_data: write failure in writing to client 192.168.0.2. Error 
Broken pipe
[2007/06/22 10:47:05, 0] lib/util_sock.c:send_smb(769)
  Error writing 75 bytes to client. -1. (Broken pipe)
--------------------------------------------

Nothing else significant seem to be showing up in logs.

Any help would be appreciated. Thanks in advance.
- Andrew.


More information about the samba mailing list