Product Documentation

V11.5 Update Guide

Previous Topic

Next Topic

Reduced minimal index cache size requirements

Historically FairCom Server has automatically set the index cache size so that the number of index buffers is at least 3 times the maximum number of allowed connections. This ensures that sufficient index buffers are available to handle index operations (key inserts, retrievals, and deletes) if all supported connections are performing index operations at the same time.

This minimum requirement means the memory used by FairCom Server could be higher, perhaps much higher, than the amount requested in the server configuration file. For example, using the default settings of PAGE_SIZE 8192 and IDX_MEMORY 100 MB and the number of allowed connection is larger than 4267, IDX_MEMORY becomes larger than requested.

The list below shows examples for PAGE_SIZE 8192, showing the original index cache memory requirements:

CONNECTIONS

IDX_MEMORY

8

0.2 MB

16

0.4 MB

32

0.8 MB

64

1.5 MB

128

3.0 MB

256

6.0 MB

512

12.0 MB

1024

24.0 MB

2048

48.0 MB

4096

96.0 MB

8192

192.0 MB

16384

384.0 MB

32768

768.0 MB

In V11.5 and later, instead of increasing the number of index buffers to the required amount, if the IDX_MEMORY value is smaller than the required amount of index buffers, c-tree Server limits the number of concurrent threads that can be performing index operations so that concurrent requests for index buffers do not exceed the allocated number of index buffers.

Note: This is a Compatibility Change.

FairCom Server supports a configuration option to restore the old behavior in case it is needed. Specifying COMPATIBILITY MINIMUM_INDEX_BUFFERS in ctsrvr.cfg restores the old behavior. When this option is used, at startup, FairCom Server logs the following message when it increases IDX_MEMORY due to minimum index buffer requirements based on the number of supported connections:

- User# 00001 Setting IDX_MEMORY to 53805056 due to concurrent connection requirements.

TOCIndex