By the way, I've never used or even heard of 'spinlock'. I only ever set oplocks, level 2 oplocks, and fake oplocks to 'no'.
Also, I never have to reindex the tables for this app. I do it anyway every few months, but never because it becomes necessary. There are about 70 tables, more views than that, and 20+ users. I open tables as needed, but once opened I never close them. I actually only deal with views in my code.
I mention this only as a case of samba working really well, so you know it is possible! I switched to Linux/Samba because I was tired of reindexing all the time, and having to reboot the server for whatever stupid reason[1]. It was the best decision I ever made for this client: I was getting really worried that my app wasn't scaling up as they kept adding users, that I should have gone client/server to begin with. I was glad to find it wasn't my app but the server platform in use.
Now, we are working on making it client/server (and rewriting in Dabo), but I didn't have to push them to pay for the transition 5 years ago, which they weren't in a position to do then.
Paul
[1] uptime for this server executed just now: 12:59:34 up 215 days, 22:14, 2 users, load average 0.00, 0.00, 0.00
215 days ago, the electric company needed to replace a transformer. Before that, I believe we were seeing uptimes of over 100 days, with reboots for similar reasons not having to do with the server software.
I used to restart samba in the middle of the night, but then found that it wasn't necessary and it had the bad effect of killing peoples mapped drives if they happened to forget to log off at the end of the day. It also would mess things up horribly if they happened to have my vfp app open at the point samba was restarted. Duh.
©2008 Paul McNett |