On 2017-12-01 08:15, Jürgen Wondzinski wrote:
Hi Mike,
Just to be clear: If you didn't adhere to the Rushmore-optimization
topics
then they are correct, as this will definitely bring down the whole
table to
the client, if VFP has to do a full-table-scan to find a record. Also
any
"REPLACE ALL ..." will do the same, since data-processing is always at
client-side. Thus you'd better check your coding twice :)
Well, unfortunately, my code is only a fraction of this app. I did get
a lot of the problems fixed (and as a result, that's why it's still
running and hasn't been replaced over 8 years now after I released the
last version (they still use it!); however, I do know the legacy code
has a lot of REPLACE ALL commands, so perhaps that's why so much of it
is coming down the pike then. Damn. I really wanted to slam-dunk this
one.
Then for optimization, there are two things to check: a) Network-speed,
b)
Server-Speed
They're using Windows Server 2008. I don't know of any plans to update
it. Ugh
a) Network-Speed in our case is depending on the use of SMB1 or
SMB2/SMB3.
SMB1 is used in WinXP/Server2003, SMB2 is Vista and S2008, SMB2.1 is
Win7
and S2008/R2, SMB3 is Win8 and S2012, SMB3.1 is Win10 and S2016. SMB1
was a
block-based transfer, whereas starting with SMB2 it got a stream-based
transport. Even if you could take the easy way out and disable SMB2/3
either
on server or client side, it's not a valuable recommendation, since
modern
Windows technologies are depending on those additional features of the
newer
standard. You better live with those.
http://support.microsoft.com/kb/2696547
This Server is Corporate's responsibility and I cannot alter the
policies on it. :/
The effect which Tracy mentioned (single network user is faster than
multiple users), is only partly related to that topic, but mostly with
the
dreaded Opportunistic Locking (or short "OpLock", which corrupts our
CDX and
data). SMB2/3 (as a streaming protocol) holds a local buffer to
accomodate
datastreams as well as OppLocks. The common solution is to disable
that
caching, which effectively kills the OpLocks problem. For that you have
to
set three Registry Keys at the CLIENT, nothing to do at server side.
You
can/should check for correct settings in your app at startup, but you
(normally) can't change those settings on the fly, since you need Admin
Rights for that. (Thus you'd better package those into your installer)
https://technet.microsoft.com/en-us/library/ff686200%28WS.10%29.aspx
I recall turning off write-behind caching on the local drive. In
reading that M$ article, it doesn't sound like that the same thing?
--
b) Then there are several tweaks at the server level. Unfortunately
there
are a lot of Hotfixes for Server 2008, 2008/R2, 2012 and 2012/R2, which
are
all related to those SMB and network problems. Thus you need those
Admins to
cooperate, if they want to make their users happy, as they need to get
their
server patched.
See here for Server 2008:
https://support.microsoft.com/en-us/help/2473205/list-of-currently-available
-hotfixes-for-the-file-services-technologie
See here for Server 2012:
https://support.microsoft.com/en-us/help/2899011/list-of-currently-available
-hotfixes-for-the-file-services-technologie
Long story short: it'd be a waste of my breath, is my bet.
--
Besides of those Hotfixes there are three more settings: FairShare, SMB
Signing and SMB Secure Negotiaton (if data resides on a NAS).
Here are some links for How-To:
http://www.ryslander.com/disable-fair-sharing-in-windows-server/
http://mctexpert.blogspot.de/2011/02/disable-smb-signing.html
https://support.microsoft.com/en-us/help/2686098/-system-error-2148073478--e
xtended-error--or-invalid-signature-error-m
Also, if that dataserver is actually a HyperV hosted maschine, it
should be
a Gen1 Machine, not a Gen2 (the file-extension should be *.VHD, not
*.VHDX).
http://itgroove.net/thebeagle/2014/07/30/hyper-v-hellsort-of/
P.S.
If you wonder why I have all those infos available, I just had a
session
about that stuff at the german DevCon. See, you should have gone there!
That would have been fun, I'm sure!
Thanks!
___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message:
http://leafe.com/archives/byMID/profox/e50b37fda513c4913205e4291f729...@mbsoftwaresolutions.com
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.