tarantoolscript
Version:
TypeScript definitions for Tarantool Lua API.
112 lines (96 loc) • 5.16 kB
TypeScript
export interface ConfigStorage {
/**
* Since version 1.7.4. How much memory Tarantool allocates to actually store tuples.
* When the limit is reached, INSERT or UPDATE requests begin failing with error ER_MEMORY_ISSUE.
* The server does not go beyond the memtx_memory limit to allocate tuples,
* but there is additional memory used to store indexes and connection information.
* Depending on actual configuration and workload, Tarantool can consume up to 20% more than the memtx_memory limit.
*/
memtx_memory?: number,
/**
* Since version 1.7.4. Size of the largest allocation unit, for the memtx storage engine.
* It can be increased if it is necessary to store large tuples. See also: vinyl_max_tuple_size.
*/
memtx_max_tuple_size?: number,
/**
* Since version 1.7.4. Size of the smallest allocation unit. It can be decreased if most of the tuples are very small.
* The value must be between 8 and 1048280 inclusive.
*/
memtx_min_tuple_size?: number,
/**
* Since version 2.10.0. Specifies the allocator used for memtx tuples. The possible values are system and small:
* - system is based on the malloc function. This allocator allocates memory as needed, checking that the quota is not exceeded.
* - small is a special slab allocator. Note that this allocator is prone to unresolvable fragmentation on specific workloads,
* so you can switch to system in such cases.
*/
memtx_allocator?: 'system' | 'small',
/**
* The multiplier for computing the sizes of memory chunks that tuples are stored in.
* A lower value may result in less wasted memory depending on the total amount of memory available and the distribution of item sizes.
* Allowed values range from 1 to 2.
*/
slab_alloc_factor?: number,
/**
* Since version 2.8.1. Specifies the granularity (in bytes) of memory allocation in the small allocator.
* The value of slab_alloc_granularity should be a power of two and should be greater than or equal to 4.
* Below are few recommendations on how to adjust the slab_alloc_granularity value:
* - To store small tuples of approximately the same size, set slab_alloc_granularity to 4 bytes to save memory.
* - To store tuples of different sizes, you can increase the slab_alloc_granularity value. This results in allocating tuples from the same mempool.
*/
slab_alloc_granularity?: number,
/**
* Since version 1.7.4. Bloom filter false positive rate – the suitable probability of the bloom filter to give a wrong result.
* The vinyl_bloom_fpr setting is a default value for one of the options in the Options for space_object:create_index() chart.
*/
vinyl_bloom_fpr?: number,
/**
* Since version 1.7.4. The cache size for the vinyl storage engine. The cache can be resized dynamically.
*/
vinyl_cache?: number,
/**
* Since version 1.7.5. Size of the largest allocation unit, for the vinyl storage engine.
* It can be increased if it is necessary to store large tuples. See also: memtx_max_tuple_size.
*/
vinyl_max_tuple_size?: number,
/**
* Since version 1.7.4. The maximum number of in-memory bytes that vinyl uses.
*/
vinyl_memory?: number,
/**
* Since version 1.7.4. Page size. Page is a read/write unit for vinyl disk operations.
* The vinyl_page_size setting is a default value for one of the options in the Options for space_object:create_index() chart.
*/
vinyl_page_size?: number,
/**
* Since version 1.7.4. The default maximum range size for a vinyl index, in bytes.
* The maximum range size affects the decision whether to split a range.
*
* If vinyl_range_size is not nil and not 0, then it is used as the default value
* for the range_size option in the Options for space_object:create_index() chart.
*
* If vinyl_range_size is nil or 0, and range_size is not specified when the index is created,
* then Tarantool sets a value later depending on performance considerations.
* To see the actual value, use index_object:stat().range_size.
*
* In Tarantool versions prior to 1.10.2, vinyl_range_size default value was 1073741824.
*/
vinyl_range_size?: number,
/**
* Since version 1.7.4. The maximal number of runs per level in vinyl LSM tree. If this number is exceeded, a new level is created.
* The vinyl_run_count_per_level setting is a default value for one of the options in the Options for space_object:create_index() chart.
*/
vinyl_run_count_per_level?: number,
/**
* Since version 1.7.4. Ratio between the sizes of different levels in the LSM tree.
* The vinyl_run_size_ratio setting is a default value for one of the options in the Options for space_object:create_index() chart.
*/
vinyl_run_size_ratio?: number,
/**
* Since version 1.7.5. The maximum number of read threads that vinyl can use for some concurrent operations, such as I/O and compression.
*/
vinyl_read_threads?: number,
/**
* Since version 1.7.5. The maximum number of write threads that vinyl can use for some concurrent operations, such as I/O and compression.
*/
vinyl_write_threads?: number,
}