Monday, June 23, 2008

Advantage Configuration Parameter Memory Usage

A knowledge base article was recently posted entitled “How Much Memory Does the Advantage Database Server Generally Use?” It gives a great overview of how memory is allocated when Advantage starts up based on the configuration settings. A table summarizing the bytes used by each configuration option and the default values for Advantage version 9.0 is below. You can click on any of the configuration settings links for more information about the setting.

Configuration Setting Memory (bytes) Default Value
Connections 5976 User Option
Work Areas 1080 25 * Connections
Tables 680 100
Index Files 1048 150
Data Locks 240 40 * Connections
Worker Threads 1000000 8

For most applications the default values should be sufficient, however, connections is frequently modified. If you make multiple connections from your application or if you provide a suite of applications you will need to increase this value. Increasing the number of connections does not automatically increase Work Areas or Data Locks so you may need to adjust these settings as well.

Worker Threads require the most memory allocation of the configuration parameters. Generally the default value (8) is sufficient for most implementations. However, if you have a busy system or a multi-processor system the general rule is to configure 8 – 16 worker threads per processor.

With Advantage 9.0 these configuration settings are used for the initial startup values. The server will dynamically allocate connections, work areas, tables, indexes and locks if the initial values are exceeded. This virtually eliminates 7004 (maximum work areas exceeded), 7005 (maximum tables exceeded), 7006 (maximum indexes exceeded) and 7007 (maximum locks exceeded) errors. I recommend checking these values whenever you add more users or update your application. Set your initial values above the Max Used if you are consistently using more than your configured values.

Advantage Configuration Utility

You can modify the default configuration parameters during the install by providing a custom ADS_CFG.REG file, details can be found here.

No comments: