How to improve Samba write performance?

From: Steve Snyder <swsnyder@dont-contact.us>
Date: Wed, 29 Dec 1999 09:58:09 -0500 (EST)

I recently sent the message below to this list, hoping I could get
advise on improving Samba (v2.0.6) write performance from an OS/2
client (I got no responses).

I subsequently ran the same tests from a Linux client using smbmount,
also v2.0.6, and got the same results. The hardware config of the
Linux client is the same as the OS/2 client below. Obviously, the
problem is not Samba<-->OS/2 interaction, but just the Samba server.
(I also have Win98 clients but don't have a suitable utility to time
their Samba I/O performance.)

I'm satisfied with the read performance of my Samba server, but would
like to improve on the writing. There's obviously something wrong
when writing a file via Samba is 4 times slower than ftp'ing it.

Any write-specific advice? Thank you.

==================BEGIN FORWARDED MESSAGE==================

I've got a couple problems with Samba<-->OS/2 communications. First,
though, here's my environment:

Samba machine:
  Celeron/400 /w 256MB of RAM
  IDE hard disks
  100Mbps 3Com NIC
  RedHat Linux v6.0 + all RH-released updates + kernel v2.2.13
  Samba v2.0.6
  filesystem: ext2, cache size: dynamic
    
OS/2 machine:
  Pentium 3/550 /w 256MB of RAM
  SCSI hard disks
  100Mbps 3Com NIC
  OS/2 Warp /w latest FixPack applied
  TCP/IP stack v4.0 /w updates applied
  filesystem: HPFS386, cache size: 16MB
  
And here are the global parameters from smb.conf:

   interfaces = lo eth0
   bind interfaces only = True
   hosts allow = 127. 192.168.0.

   netbios name = corona
   name resolve order = hosts bcast
   dns proxy = no

   printcap name = /etc/printcap
   load printers = yes
   printing = lprng

   max log size = 50
   log file = /var/log/samba/log.%m

   security = user
   encrypt passwords = yes
   smb passwd file = /etc/smbpasswd
   null passwords = yes

   domain logons = yes
   logon script = netlogon
   logon path = /home/samba/netlogon

   local master = yes
   domain master = yes
   os level = 33
   preferred master = yes

   client code page = 437
   lock directory = /var/lock/samba

   time server = yes
   shared mem size = 524288
   socket options = IPTOS_LOWDELAY TCP_NODELAY

1.My first problem: write performance. Here's some statistics in
transferring a 10MB file between machines. Note the disparity in
writing a file to the Linux box from the OS/2 machine via Samba. (I
transferred the file several files, to load the disk caches, before
getting these stats.) Alas, these values are all too consistent.

Samba --> OS/2
  ftp = 1.1 seconds
  smb = 1.5 seconds

OS/2 --> Samba
  ftp = 1.2 seconds
  smb = 6.0 seconds

Any one have a clue why writing to a Samba share from OS/s takes 5 times
as long as a ftp transfer to the same subdirectory on the Linux box??

2. Why are there still extended attribute (EA) problem on Samba
shares? Here's a test: Open the OS/2 system editor (e.exe), write
some text, and save the file as n:\testme.txt. The attempt to save
the file causes an error that the file cannot be written. In fact the
file *has* been written. It is the writing of the EA for that file
that causes the editor to choke. If you Cancel that "Save As"
operation you will see that the newly created text file is indeed on
the specified Samba share. What can I do to fix this EA problem?

*** Steve Snyder ***

===================END FORWARDED MESSAGE===================

*** Steve Snyder ***
Received on Wed Dec 29 1999 - 11:50:22 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:50:07 MST