[Samba] sync always, strict sync, cache question

Chris Fanning christopher.fanning at gmail.com
Tue Sep 16 12:24:00 GMT 2008


I've been using samba to share folders for a number of years now.
thankyou very much to the samba team.

Now I'm posed with some questions.
I have a couple of servers hosting desktops for thinclient users.
Until now I have been mounting /home with NFS on these servers.
Recently we have upgraded the whole system and have run into write
performance issues with the NFS server.

time dd if=/dev/zero of=/home/testfile bs=16k count=16384
268435456 bytes (268 MB) copied, 45.0461 seconds, 6.0 MB/s

This is much too slow for the gigabit network.
We can improve this a lot by exporting /home with the async option
(60-70MB/s), but the NFS documentation strongly recommends against
using async (opposed to sync) because of possible firesystem
corruption if the NFS server crashes. This is a cache issue.

After numerous tests we have given up trying to get it working
properly. And we've been trying CIFS.
Everything works well and write speed is a lot better.

time dd if=/dev/zero of=./testfile bs=16k count=16384
268435456 bytes (268 MB) copied, 3.6 seconds, 74.4 MB/s

But I am worried about the cache that Samba makes use of. We would
like samba to write to disk immediately.
We've found these two options for smb.conf

sync always = yes
strict sync = yes

I can't quiet see the difference between the two in my case.
If I set 'sync always = yes' _or_ 'strict sync = yes', I can copy
files at 70MB/s (similar to NFS using async).
If I set both options, file transfer speed drops to about 20MB/s

Does that mean that I do need to set both options to ensure the cache
is written to disk before the server returns the ok to the client?
How could I test this?

And now while I'm here ;) , does anyone have any other recommendations
for this kind of setup?


More information about the samba mailing list