Skip to Content
Author's profile photo Hakan Haslaman

Dynamic Server Configuration

From the ADS helpfile:

The CONNECTIONS, WORKAREAS, TABLES, INDEXES, and LOCKS configuration parameters control the initial amount of resources Advantage will allocate at startup. Should Advantage run out of available connections, tables, etc., it will allocate more resources to accommodate more open connections, tables, etc. Later, if those extra resources are not being used, Advantage will free them and reduce the number of available connections, tables, etc.

QUESTION: What happens when more resources are needed in terms of the upcoming database request while ADS is increasing the parameters, so does the application have to wait until ADS has finished the allocation?

ANSWER: Yes the request will need to wait for more resources to be allocated. If any delay is unacceptable, the customer should set the configuration parameters to approximately the values used by the server. Any easy way to determine these maximum values is with ads_cfg.exe. No extra allocations should be needed then.

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Trevor Radke
      Trevor Radke

      Why can the number of Index Files not be configured?  I have managed to do so on 1 or 2 occasions, but almost always, it reverts to 75 in ADS 11.10.0.22.  My max used is sitting at 28501 right now, so is the performance worse than it could be if that setting was able to be configured to 30000?

      Author's profile photo Hakan Haslaman
      Hakan Haslaman
      Blog Post Author

      Number of Index Files (-I)

      Default = 150 index files. Range = 1 – no upper limit.

      This is the initial number of index files that can be open on the Advantage Database Server at one time.

      The "Number of Index Files" configuration setting on the Advantage Database Server is a per-server setting. That is, one index file must be available per index file opened, no matter how many clients have that index file open. For example, if 128 Advantage clients have opened the same 14 index files, there must be at least 14 index files configured on the Advantage Database Server. Thus, the "Number of Index Files" configuration setting is similar to the "Number of Tables" setting; in that, both settings are the number of files opened "per server" and not the number of files opened "per client".

      If an Advantage application attempts to open an index file on the Advantage Database Server that has not yet been opened by any Advantage application, and the configured number of index files have already been opened, the Advantage Database Server will attempt to allocate more resources to accommodate more open indexes. If that allocation fails, the Advantage application that is attempting to open that index file will receive a 7006 error, Maximum number of index files exceeded, until an index file "element" becomes available.

      Note This configurable setting is per index FILE. It does not matter if the index file is a single-order index file, such as an NTX or IDX index, or if it is a multiple-order index file, such as a CDX or ADI index. The number of orders that exist in a CDX or ADI index file that are opened has no effect on this setting.

      Advantage Database Server for Windows

      Problem: The maximum number of configured index files are already in use and the Advantage server was unable to allocate more resources for additional index files.

      Solution: Increase the setting for the "Number of Index Files" using the Advantage Configuration Utility. If you don't wish to use the Advantage Configuration Utility, increase the setting for the INDEXES configuration value in the Advantage Database Server configuration registry key using the Registry Editor. The Advantage Database Server Configuration Registry Key is located in the Registry at: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Advantage\Configuration. Then re-start the Advantage Database Server for Windows.

      Advantage Local Server

      Problem: The maximum number of configured index files are already in use and the Advantage server was unable to allocate more resources for additional index files.

      Solution: Increase the setting for the INDEXES configuration value in the Advantage Local Server configuration file, ADSLOCAL.CFG. Then re-start the application that uses the Advantage Local Server.

      Author's profile photo Trevor Radke
      Trevor Radke

      Thanks I may try using the registry key.  I still don't understand why the Advantage Configuration Utility will not allow me to change the setting there though.

      Author's profile photo Hakan Haslaman
      Hakan Haslaman
      Blog Post Author

      In very less cases I see behavior like this. The registry key should help as workaround, but maybe a reinstall or an update to the ADS 11.10.0.24 could also fix this issue.