Administrator Guide : Server-side configuration parameters : IndexFile section
  
IndexFile section
[IndexFile]
Description
Factory value
Access mode
BlockSize
Sets the block size of the database file in bytes; use multiple of 2 KB: minimum 2 KB, maximum 64 KB
16 KB
Unit: 1 byte k=KB
RO
BonsaitreeJoinLimit
Defines the size in percentages for the temporary storage (BonsaiTree) index pages after which a join is applied. The default size is half of the value of IndexFile.BtreeJoinLimit.
For example, if IndexFile.BtreeJoinLimit is set to 48, the default IndexFile.BonsaitreeJoinLimit value is 24.
Minimum value is 0, maximum 50.
20
RW/
Startup
BtreeJoinLimit
Defines the size in percentages for the permanent storage (B-tree) index pages after which a join is applied. Minimum value is 0, maximum 50.
40
RW/
Startup
CacheSize
Sets the size of database cache memory for the server in bytes; the minimum is 512 kilobytes. Although solidDB® is able to run with a small cache size, a larger cache size speeds up the server. The cache size needed depends on the size of the database file, the number of connected users, and the nature of the operations executed against the server.
You can change the CacheSize value dynamically with the ADMIN COMMAND. For example:
ADMIN COMMAND 'parameter IndexFile.CacheSize=40mb'
Attention: Setting the CacheSize to a value larger than the amount of memory available may significantly degrade performance. If your system has only a small amount of free memory available, you reduce the CacheSize value.
32 MB
Unit: 1 byte k=KB m=MB
RW
DirectIO
Defines if the index file uses Direct I/O. Direct I/O means that operating system buffer pool is bypassed in file I/O.
This parameter is not effective in Windows environments; in Windows environments, database files always use Direct I/O.
no
RW/
Startup
ExtendIncrement
Sets the number of blocks of disk space that are allocated at one time when solidDB® needs to allocate more space for the database file. If each block is 8 KB, the value of 500 corresponds to 4 MB of disk space.
500
RW/
Startup
FileSpec_[1... N ]
Defines the location, name, and the maximum size of the index file. In solidDB®, the term index file is used as a synonym for database file.
The parameter accepts the following arguments:
database file location - default is solidDB® working directory
database file name
maximum size (in bytes)
device number
The device number is an optional argument that defines the physical drive number. The number value itself is not essential, but it is used as a hint for I/O threads, allowing the server to perform database file I/O requests in a parallel manner if you split the file into multiple physical disks.
For example:
FileSpec_1=c:\soldb\solid.db 200000000
The N in the parameter syntax signifies the number of the file if the database file is divided into multiple files and onto multiple disks.
To achieve better performance, the database file must be stored to a local drive using local disk names to avoid problems with network I/O.
You can also have multiple files on a single disk if your physical disk is partitioned into multiple logical disks and no single logical disk can accommodate the size of the database file you expect to create.
solid.db 2147483647 (2G-1 bytes)
RO
PreFlushPercent
Sets the percentage of page buffer which is kept clean by the preflush thread.
The preflush operations prepare the cache for the allocation of new blocks. The blocks are written onto the disk from the tail of the cache based on a Least Recently Used (LRU) algorithm. Therefore, when the new cache blocks are needed, they can be taken immediately without writing the old contents onto the disk.
25
RW/
Startup
ReadAhead
Sets the number of prefetched index reads during long sequential searches.
When the I/O manager is handling a long sequential search, it enters a read-ahead operation mode. This mode ensures that the next file blocks of the search in question are read into the cache in advance. This improves the overall performance of sequential searches.
4
RW/
Startup
ReferenceCacheSizeForHash
solidDB® uses a hash table to ease access to the cache. The hash table size equals the number of pages in the cache. This guarantees almost collision-free access. If the cache size is increased dynamically, the hash table is not automatically enlarged. This results in a higher collision probability. To avoid collision, use the ReferenceCacheSizeForHash parameter to accommodate the enlarged cache. The ReferenceCacheSizeForHash parameter value is used for calculating the cache hash table size. Use the parameter if you know in advance what the maximum cache size is during the server lifecycle. If the value is not given, hash table collisions may occur when the cache size is increased.
Note The ReferenceCacheSizeForHash parameter value must not be smaller than the CacheSize value. If it is, the ReferenceCacheSizeForHash parameter value is rejected and the default value is used. Also, a message is printed to the solmsg.out log file.
0
RW/
Startup
SynchronizedWrite
On UNIX/Linux platforms, this parameter may be set to “no” to enact asynchronous I/0. Asynchronous I/O provides, in general, more performance but it can cause higher variance of response latencies (lower latency determinism).
yes
RW/
Startup
See also
Server-side configuration parameters