[Samba] Samba + BDE and slow speed on reading (long)

Giovani Moda - MR Informática giovani at mrinformatica.com.br
Fri Feb 1 17:44:14 GMT 2008


Hello list.

I'm new here, and I'm joining because I'm having a problem wich I can't figure out the solution myself. Here's what's happening:

A Samba 3.0.24 is serving files to seven Windows XP clients. Three of those clients run an application with a BDE database. The problem is that when running this application on Samba, it gets very, VERY slow, causing it to hang. I have noticed also an unusual low speed when receiving files from the samba server over network. When sending files to the server, the speed is OK. Since the databases used by that apllication have about 50Mb each, the problem must be caused by that slow speed on receiving files from the server.

I've twiked the configuration a bit, and came to this results:

socket options = SO_RCVBUF=65535 SO_SNDBUF=65535 TCP_NODELAY IPTOS_LOWDELAY - Very slow on reading, fast when writing
socket options = TCP_NODELAY IPTOS_LOWDELAY - still slow on read, but a little better. Fast when writing
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=32768 - significant improvement when reading files, but the application still hangs due to the slow speed. Fast when reading.
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=32768 SO_RCVBUF=32768 - same as above, but writing speed shows deterioration.

Other significant parameters:

   max connections = 50
   dos filetimes = yes
   max open files = 4000
   nt acl support = yes
   preserve case = yes
   strict locking = no
   deadtime = 15
   unix charset = iso8859-1
   display charset = cp850
   oplocks = no
   kernel oplocks = no
   level2 oplocks = no
  local master = yes
   os level = 64
   domain master = yes
   time server = yes
   preferred master = yes
   domain logons = yes
   name resolve order = wins bcast host lmhosts
   wins support = yes
   wins proxy = yes
   dns proxy = no

So, I went for socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=32768 and got these results:

Copying a 45678592 bytes throug samba, it takes from 45 to 60 seconds to transfer. The same file though FTP takes only 3.9 seconds. I know FTP is the fastest protocol and cannot be compared to samba, but still, that's a HUGE difference.

As a desperate measure, I've copied the whole database to a XP machine, shared the folder to the network, mapped it to the other stations, and the application runs perfectly again.

Conclusion: there's definitely a problem when readind files from samba server. It's not network related, since FTP is really fast, and when serving the database from XP, the speed is OK too. The server is a brand new Core 2 Duo E4500, 2GB RAM, 160 GB HD SATAII. The switch is also new. The distro in question is FC5.

As a related topic, I've came across a situation (two times and couting) when writing files to the samba server is painfully slow. On both cases, setting SO_RCVBUF=1 has resolved the problem. I don't know why, but it did. Both times, the server was connected to a D-Link DES-1024 switch. Switching NIC's and cables had no effect, but SO_RCVBUF=1 solved it instantly. Could it be related tho this version of samba and the problem I'm having now?

Any thoughts?

Thanks,

Giovani Moda


More information about the samba mailing list