Thomas Cameron
2001-Oct-20 20:38 UTC
VERY slow reads, fast writes on RH 7.1/2.4.12 with Samba 2.2.2
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