Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Visual Foxpro Performance
Message
De
20/08/2015 00:46:02
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Installation et configuration
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows Server 2008
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01623614
Message ID:
01623623
Vues:
136
J'aime (1)
some notes:
Memory Usage
VFP likes memory. No, VFP loves memory. It will use as much as possible. If the Terminal Server has 50 users connected and running an app, that is 50 copies of VFP9.EXE that are running!
Terminal Servers in general require large amounts of RAM. What may seem like an excessive amount of RAM for a station or a file server is probably still not enough for a Terminal Server. Maximizing the RAM will help reduce any speed degradation from frequent accesses to the pagefile on the hard drive.
Memory management within VFP is also helpful – sometimes even essential. While the VFP official documentation contains minimal information about memory management and terminal services, experience shows the following to be helpful:
1. Release memory variables and objects if they are no longer needed. Use these commands to free unused memory within VFP :
Clear program
Clear program (issuing twice is helpful for unknown reasons)
Clear resources
Sys(1104) (purges cached memory and images)
2. Use sys(3050) to set the amount of memory VFP uses for buffers. Start VFP and check sys(3050,1) to see the amount of memory VFP initially allocates. Frequently it is more than needed. Test carefully and make sure not to set the value too low.
3. Set MVCOUNT in your CONFIG.FPW to an appropriate value. MVCOUNT is the maximum number of memory variables VFP can establish at one time. With memory plentiful and inexpensive, developers often set this higher than needed. The default is 16,384. Lowering that results in VFP setting aside less reserved memory.
4. Use BITMAP=OFF in CONFIG.FPW.
5. It may be helpful to update the appearance of a form or its controls by first issuing a THISFORM.LOCKSCREEN=.T. , then updating, then issuing a THISFORM.LOCKSCREEN=.F.
Printing
1. Do not use any of the commands that set printers, especially:
Set printer to XXX
Getprinter()
Aprinters
Sys(1037)
Sys(102)
2. Use the PROMPT keyword in the REPORT FORM command to allow the user to select a printer.
3. Do not save reports with the printer environment.
UNC and Drive Mappings
Coordinate drive references carefully and never assume the existence of a C: drive. In fact, avoid referencing any drive or UNC directly. Use SYS() functions to determine your starting and related folders. While this is good practice for all applications, it is essential in a Terminal Server environment/
Temp and Work Files
Just as the application should not reference specific drives, care must be taken that VFP itself does not. Remember that every user is potentially running the same copy of VFP. The CONFIG.FPW should specify temp and work folders that are accessible under all circumstances. However it is fine for all users can share the same temp or work folders; VFP will manage the file names.
Explicit File Names
Many VFP applications assume that one user is located at one PC. Although it is a poor practice, in that scenario the command:
Select * from myfile into dbf c:\temp\temp3456
will work fine. Under a terminal services session that is a disastrous command. Never use explicit drives, folders, or file names that can cause a conflict. We advise developers to imagine 50 users all sitting at the same PC with the same C: drive – in essence, that is the environment of a terminal services session.

>How to get maximum performance with a terminal server?
>
>The virtual server (windows 2008R2) has 48 Gig memory available and the virtual machine sits on PCI-SSD Disks
>
>Witch settings can I play with to get the most performance ?
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform