Increasing Speed: Maximizing Memory Use

If the contents of all files that an application requires at any given time could be stored in memory, response time would be very rapid. Using main memory is much quicker than using disk input/output (I/O) because the time required to access files from disk is much greater than that required to access them from memory. In practice, however, it is impossible to keep everything in memory, especially if a database contains millions of records.

Much of the data used by an application must therefore be transferred continually between memory and disk during an application session. The disk I/O includes the data stored in the database, database definitions, screen definitions, and application programs.

Zim's configuration files control how each class of data is transferred between disk and memory. The particular configuration options that control the four classes of data are show in the table below.

Configuration Options that Control Classes of Data

Classes of Data

Configuration Options

Data in the database

buffers, files, sort buffers

Database definitions

buffers, files descriptors

Screen definitions

maximum forms

Application programs

runtime buffers, files

Each configuration option can be adjusted to a higher or lower value, affecting the use of memory by the application and also the speed of operation. The effect of option on performance is discussed in topics in this section.

The file statistics configuration option should be set to yes as an aid in determining optimal values for the memory tuning parameters. File statistics provides a good indication of the effectiveness of database buffering by recording the number of logical and physical I/O operations for all block-oriented files used during a session. The smaller the ratio of physical I/O operations to logical I/O operations, the more effective the database buffering.

The file statistics configuration option also records file openings and closings, providing a good indication if the files parameter is sufficiently high.

The file statistics configuration option incurs little performance overhead. It creates a text file ZIMSTATS in the work directory belonging to the application user.