VERY slow reads, fast writes on RH 7.1/2.4.12 with Samba 2.2.2

Thomas Cameron archimage at linux-magic.com
Sat Oct 20 20:38:02 GMT 2001


All -

I am having a weird problem.  I have a dual Pentium Pro 200 Proliant server
with 1GB RAM.  I was using an external drive array attached to the onboard
SCSI controller and software RAID, and Samba performed marvelously.

I recently installed a Compaq Smart-2 array controller into the server.
Ever since, I get HORRIBLE performance copying files from the Samba server
to the Windows clients, but write performance from the Windows clients to
the Samba server is just fine.

For instance - I try to copy the latest Win2K service pack (w2ksp2.exe -
approx 105 megabytes) from the Samba box to a Windows 2000 client using
Explorer, it takes a little over 15 minutes.  If I copy it from the Windows
2000 client back to the Samba server, it takes about 30 seconds.

I have recompiled Samba several times, and compiled several new kernels with
the Smart-2 driver compiled both as a module and directly into the kernel.
I have tried SO_SNDBUF and SO_RCVBUF settings from 2048 to 16384.

I have also tested using ftp, and the transfer times are in the 15-25 second
range (about 50 Mbps from the Samba server to the Windows client, and about
75 Mbps from the Windows client to the Samba server) for uploads and
downloads.  I do not believe this is actually a problem with the Smart-2.

Any help would be greatly appreciated.  I am at wit's end.  I don't want to
yank the Smart-2, but I am rapidly leaning in that direction.

I compiled Samba as follows:

./configure --prefix=/opt/samba && make && make install

Here is my smb.conf:

# Samba config file created using SWAT
# from xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)
# Date: 2001/10/20 22:06:49
# Global parameters

[global]
workgroup = XXXXXX
server string =
encrypt passwords = Yes
wins support = Yes

printing = lprng
[homes]
read only = No
browseable = No

[apps]
path = /var/ftp/pub/apps
read only = No

[iso]
path = /var/ftp/pub/iso
read only = No

Here is the output from testparm:

Load smb config files from /opt/samba/lib/smb.conf
Processing section "[homes]"
Processing section "[apps]"
Processing section "[iso]"
Loaded services file OK.
Press enter to see a dump of your service definitions
# Global parameters
[global]
coding system =
client code page = 850
code page directory = /opt/samba/lib/codepages
workgroup = XXXXXX
netbios name =
netbios aliases =
netbios scope =
server string =
interfaces =
bind interfaces only = No
security = USER
encrypt passwords = Yes
update encrypted = No
allow trusted domains = Yes
hosts equiv =
min passwd length = 5
map to guest = Never
null passwords = No
obey pam restrictions = No
password server =
smb passwd file = /opt/samba/private/smbpasswd
root directory =
pam password change = No
passwd program = /bin/passwd
passwd chat = *new*password* %n\n *new*password* %n\n *changed*
passwd chat debug = No
username map =
password level = 0
username level = 0
unix password sync = No
restrict anonymous = No
lanman auth = Yes
use rhosts = No
log level = 2
syslog = 1
syslog only = No
log file =
max log size = 5000
timestamp logs = Yes
debug hires timestamp = No
debug pid = No
debug uid = No
protocol = NT1
large readwrite = No
max protocol = NT1
min protocol = CORE
read bmpx = No
read raw = Yes
write raw = Yes
nt smb support = Yes
nt pipe support = Yes
announce version = 4.5
announce as = NT
max mux = 50
max xmit = 65535
name resolve order = lmhosts host wins bcast
max packet = 65535
max ttl = 259200
max wins ttl = 518400
min wins ttl = 21600
time server = No
change notify timeout = 60
deadtime = 0
getwd cache = Yes
keepalive = 300
lpq cache time = 10
max smbd processes = 0
max disk size = 0
max open files = 10000
read size = 16384
socket options = TCP_NODELAY
stat cache size = 50
use mmap = Yes
total print jobs = 0
load printers = Yes
printcap name = /etc/printcap
disable spoolss = No
enumports command =
addprinter command =
deleteprinter command =
show add printer wizard = Yes
os2 driver map =
strip dot = No
character set =
mangled stack = 50
stat cache = Yes
domain admin group =
domain guest group =
machine password timeout = 604800
add user script =
delete user script =
logon script =
logon path = \\%N\%U\profile
logon drive =
logon home = \\%N\%U
domain logons = No
os level = 20
lm announce = Auto
lm interval = 60
preferred master = Auto
local master = Yes
domain master = Auto
browse list = Yes
enhanced browsing = Yes
dns proxy = Yes
wins proxy = No
wins server =
wins support = Yes
wins hook =
kernel oplocks = Yes
oplock break wait time = 0
add share command =
change share command =
delete share command =
config file =
preload =
lock dir = /opt/samba/var/locks
default service =
message command =
dfree command =
valid chars =
remote announce =
remote browse sync =
socket address = 0.0.0.0
homedir map =
time offset = 0
NIS homedir = No
source environment =
panic action =
hide local users = No
host msdfs = No
winbind uid =
winbind gid =
template homedir = /home/%D/%U
template shell = /bin/false
winbind separator = \
winbind cache time = 15
winbind enum users = Yes
winbind enum groups = Yes
comment =
path =
alternate permissions = No
username =
guest account = nobody
invalid users =
valid users =
admin users =
read list =
write list =
printer admin =
force user =
force group =
read only = Yes
create mask = 0744
force create mode = 00
security mask = 0777
force security mode = 00
directory mask = 0755
force directory mode = 00
directory security mask = 0777
force directory security mode = 00
inherit permissions = No
guest only = No
guest ok = No
only user = No
hosts allow =
hosts deny =
status = Yes
nt acl support = Yes
max connections = 0
min print space = 0
strict allocate = No
strict sync = No
sync always = No
write cache size = 0
max print jobs = 1000
printable = No
postscript = No
printing = lprng
print command = lpr -r -P%p %s
lpq command = lpq -P%p
lprm command = lprm -P%p %j
lppause command =
lpresume command =
queuepause command =
queueresume command =
printer name =
use client driver = No
printer driver =
printer driver file = /opt/samba/lib/printers.def
printer driver location =
default case = lower
case sensitive = No
preserve case = Yes
short preserve case = Yes
mangle case = No
mangling char = ~
hide dot files = Yes
hide unreadable = No
delete veto files = No
veto files =
hide files =
veto oplock files =
map system = No
map hidden = No
map archive = Yes
mangled names = Yes
mangled map =
browseable = Yes
blocking locks = Yes
fake oplocks = No
locking = Yes
oplocks = Yes
level2 oplocks = Yes
oplock contention limit = 2
posix locking = Yes
strict locking = No
copy =
include =
exec =
preexec close = No
postexec =
root preexec =
root preexec close = No
root postexec =
available = Yes
volume =
fstype = NTFS
set directory = No
wide links = Yes
follow symlinks = Yes
dont descend =
magic script =
magic output =
delete readonly = No
dos filemode = No
dos filetimes = No
dos filetime resolution = No
fake directory create times = No
vfs object =
vfs options =
msdfs root = No
[homes]
read only = No
browseable = No
[apps]
path = /var/ftp/pub/apps
read only = No
[iso]
path = /var/ftp/pub/iso
read only = No





More information about the samba mailing list