--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-users+unsubscribe@googlegroups.com
Web: http://groups.google.com/group/harbour-users
--- You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
The problem is that I tried to disable oplocks but the performance of some database operations degraded of a factor 10.
everybody says that oplocks are responsible, and I could believe it, if not for the fact
that I never disabled them and never had problems in maaany years
http://www.databasesoup.com/2014/09/why-you-need-to-avoid-linux-kernel-32.html
graphs in link shows a comparison between Kernel 3.2 versus 3.13
( aka a comparison between Ubuntu 12.04 and 14.04 ) -- still not havn't tested 14.04 ..
According my (maybe wrong) researches, the defaults for the OPLOCKs settings changed in some distros,
especially! at client side -- longer ago i adviced to use: cache=none as mount option for cifs at client.
Agree to Klas, that the option: strict locking = yes
really sounds like overkill.
Here is a good document from original Samba doc (server was just un-available, google cache works .. ):
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html
like to cite from there:
"Opportunistic locking is actually an improper name for this feature. The true benefit of this feature is CLIENT-SIDE DATA CACHING .."
and:
"Oplocks is by default set to <on> by Samba on all configured shares"
and:
"Kernel Oplocks are essentially a method that allows the Linux kernel to co-exist with Samba's oplocked files "
which IMHO don't apply to you ...
--
But as long as you don't like to see the logical problem of a WRITE cache at client side as a generally origin problem for shared databases
-- what shell we write else ?
How much RAM have the server ?
May i advice to add more, because Linux server is ever caching it's files there -- and such is even faster than a SSD.
best regards
Rolf
Eh, but to change technology to speed up a single operation seems a bit impractical.
Luckily I had a glance at the (very old) sources and I am optimizing them (plenty of room to do it).
I never noticed how much the "actual" (15 years old) code is inefficient, thanks to oplocks... :-)
Anyway another program -more recent- after disabling oplocks showed no slowness at all.
It seems at least that in the last 15 years my programming skills have improved a bit...
According my (maybe wrong) researches, the defaults for the OPLOCKs settings changed in some distros,especially! at client side -- longer ago i adviced to use: cache=none as mount option for cifs at client.
and:"Kernel Oplocks are essentially a method that allows the Linux kernel to co-exist with Samba's oplocked files "
which IMHO don't apply to you ...
But as long as you don't like to see the logical problem of a WRITE cache at client side as a generally origin problem for shared databases
-- what shell we write else ?
How much RAM have the server ?
May i advice to add more, because Linux server is ever caching it's files there -- and such is even faster than a SSD.
Samba 2 didn't Support the new Microsoft protocol so the client reverted to the old one and there were no problems.
Cache coherency is the Main problem of caches. Windows needs to coordinate the cache in beach workstation and the server: when someone updates a record all the othdr workstations should get a message of cache invalid. Do the receive it? Can they handle it? In a correct way?
Samba 2 didn't Support the new Microsoft protocol so the client reverted to the old one and there were no problems.
Cache coherency is the Main problem of caches. Windows needs to coordinate the cache in beach workstation and the server: when someone updates a record all the othdr workstations should get a message of cache invalid. Do the receive it? Can they handle it? In a correct way?