FoxPro/Speed up Foxpro on Network
We have a Visual Foxpro database (version 6.0 sp5)installed on a windows XP pro machine. This database is shared with about 15 users. all users use this databse through shared access to the xp machine. clients are also running xp pro.
clients are experiencing very slowness when the open a form, add or edit data.
This is a LAB and there is no issues with switch, cables, or machine hardware.
All clients using the same exe from the xp server machine. Just making shortcut.
Is there any way to speed up this foxpro application?
Thanks and please let me know if you have any idea.
Since I cannot see the program code, I can only guess about its efficiency. Some methods of doing things in FoxPro are faster than others. For example, queries are usually faster than using a SET FILTER command.
Apart from the code itself, the best method for increasing processing speed is through distributive processing. If the program is fully developed and does not change, simply copying the EXE and runtime libraries to each of the 15 workstations will make it much faster. If the program sits on the local hard disk, network traffic is reduced to only reading & writing to the primary database(s). Local disk access is much quicker than accessing a network drive. Temporary files (e.g. query results) are created in the DEFAULT directory. If there is nothing in the program to change it, the default directory is the current / working directory, usually where the EXE sits. With the EXE on the network all files created by the program (query results, index files, etc) are created on the server.
Unfortunately, the program must be written in such a way that it can find the data when it is not in the same place as the EXE. Data files must be opened by using their full directory location OR through the use of a SET PATH command very early in the code. If you can make changes to the program, adding a single line:
SET PATH TO \\ServerName\DBFdirectory
OR (if drive mapping is permanent)
SET PATH TO X:\DBFdirectory
If you don't have access to the source code and cannot make changes to the program, just test it on a single computer. If the program cannot open the network files, you'll get a "File not Found" error fairly quickly.