| Optimizing FoxPro for Citrix/Terminal Services |
Before recommending hardware changes at the server level, take a closer look at the development environment. Here
are some suggested modifications that may or may not improve Fox-on-Citrix/Terminal Services performance.
-
VFP's form painting doesn't use standard windows calls/objects so when a form is refreshed, the entire thing
gets passed over the wire instead of just the controls that were changed. Microsoft has indicated that this
would probably not be addressed any time soon. To mitigate this, try the following:
- Use the LOCKSCREEN property to perform batch screen updates:
THISFORM.LockScreen = .T.
Do screen updating here...
THISFORM.LockScreen = .F.
- Minimize screen redraws in all cases; try reducing THISFORM.Refresh calls for example.
- Don't use large splash screens or display large graphical images.
- Apply the FOXPFIX utility from Citrix to prevent keyboard polling routines from running up CPU
cycles:
http://support.citrix.com/kb/entry.jspa?entryID=1305&categoryID=118.
- Issue a SYS(3050) early in your application so that VFP won't seize all the available Citrix memory
for long. 32MB is reported to work well, 64MB works better.
- Apply http://support.microsoft.com/default.aspx?scid=kb;EN-US;258537.
- Apply http://support.microsoft.com/?kbid=299603.
- Apply the following hotfix if #5 doesn't work. The following are RegKeys changes: On the Windows 2000 SP2
Terminal Servers, add the following registry keys:
HKLM\System\CCS\Services\Mrxsmb\Parameters
OpLocksDisabled
DWORD: 0x1
HKLM\System\CCS\Services\LanmanServer\Parameters
CachedOpenLimit
DWORD: 0x0
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
UtilizeNTCaching
DWORD: 0x0
HKLM\System\CCS\Services\RDR\Paremeters
UseWriteBehind
DWORD: 0x0
On the Windows 2000, SP2 File Server which hosts the FoxPro application, add the following registry keys:
HKLM\System\CCS\Services\LanmanServer\Parameters
EnableOpLocks
DWORD: 0x0
HKLM\System\CCS\Services\LanmanServer\Parameters
CachedOpenLimit
DWORD: 0x0
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
UtilizeNTCaching
DWORD: 0x0
|
|
|
|