Minimizing Network Traffic for Static Objects

As discussed earlier in this chapter, the location of objects in a multiuser application has a direct effect on the application’s performance. Consider the following worst-case scenario.

A user has a workstation with 8 MB of RAM and a 200 MB hard disk, of which 100 MB is unused. The software on this machine consists of MS-DOS® and the necessary network software to connect to the file server. The user runs your multiuser application completely from the network. This means that he or she has to load Microsoft Windows, Microsoft Jet, and your application from the network. Additionally, every byte of data access, whether it’s from a live data table or from a static object such as a query, has to come across the network. Finally, the user is using a temporary swap file mapped to a network drive.

Obviously, this user is not going to be happy with your application’s performance. In fact, it would be surprising if the user could even run your application. To understand how to minimize network traffic for static objects, it’s useful to work backward from this worst-case scenario and address the individual problems.

You know that the user has the necessary disk space to allow you to move your application to the local level. Start by moving the support software to the user’s workstation. This includes installing the operating system, such as Microsoft Windows, on the workstation, setting a permanent swap file on the local drive, and installing the Microsoft Jet components locally. Next, consider whether or not to install the workgroup information file for your application at the local level.

Then, install your application on the user’s local drive. If your application is based on Microsoft Access, install it locally. If your application is based on Visual Basic or some other language, install the necessary resources such as executable files and dynamic-link libraries locally. Figure 6.6 illustrates this optimization technique.

Figure 6.6 Optimizing a workstation

Finally, investigate bottlenecks occurring on your LAN that are due to hardware. You might want to try the following:

See Also For more information about other performance optimizations, see Chapter 13, “Optimizing Performance.”