cfg_storage
- memtx_memory
- memtx_max_tuple_size
- memtx_min_tuple_size
- memtx_allocator
- memtx_sort_threads
- slab_alloc_factor
- slab_alloc_granularity
- vinyl_bloom_fpr
- vinyl_cache
- vinyl_max_tuple_size
- vinyl_memory
- vinyl_page_size
- vinyl_range_size
- vinyl_run_count_per_level
- vinyl_run_size_ratio
- vinyl_read_threads
- vinyl_write_threads
Since version 1.7.4.
How much memory Tarantool allocates to 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.
Type: float
Default: 256 * 1024 * 1024 = 268435456 bytes
Minimum: 33554432 bytes (32 MB)
Environment variable: TT_MEMTX_MEMORY
Dynamic: yes but it cannot be decreased
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.
Type: integer
Default: 1024 * 1024 = 1048576 bytes
Environment variable: TT_MEMTX_MAX_TUPLE_SIZE
Dynamic: yes
Since version 1.7.4.
Size of the smallest allocation unit. It can be decreased if most of the tuples are very small.
Type: integer
Default: 16 bytes
Possible values: between 8 and 1048280 inclusive
Environment variable: TT_MEMTX_MIN_TUPLE_SIZE
Dynamic: no
Since version 2.10.0.
Specify the allocator that manages memory for memtx tuples. Possible
values:
system– the memory is allocated as needed, checking that the quota is not exceeded. THe allocator is based on themallocfunction.small– a slab allocator. The allocator repeatedly uses a memory block to allocate objects of the same type. Note that this allocator is prone to unresolvable fragmentation on specific workloads, so you can switch tosystemin such cases.
Type: string
Default: 'small'
Environment variable: TT_MEMTX_ALLOCATOR
Dynamic: no
Since: 3.0.0.
The number of threads from the thread pool used
to sort keys of secondary indexes on loading a memtx database. The
minimum value is 1, the maximum value is 256. The default is to use all
available cores.
Type: integer
Default: box.NULL
Environment variable: TT_MEMTX_SORT_THREADS
Dynamic: no
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.
See also: slab_alloc_granularity
Type: float
Default: 1.05
Possible values: between 1 and 2 inclusive
Environment variable: TT_SLAB_ALLOC_FACTOR
Dynamic: no
Since version 2.8.1.
Specify the granularity (in bytes) of memory allocation in the
small allocator. The
memtx.slab_alloc_granularity value should meet the following
conditions:
- The value is a power of two.
- The value is greater than or equal to 4.
Below are few recommendations on how to adjust the
memtx.slab_alloc_granularity option:
- If the tuples in space are small and have about the same size, set the option to 4 bytes to save memory.
- If the tuples are different-sized, increase the option value to
allocate tuples from the same
mempool(memory pool).
See also: slab_alloc_factor
Type: number
Default: 8 bytes
Environment variable: TT_SLAB_ALLOC_GRANULARITY
Dynamic: no
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.
Type: float
Default: 0.05
Environment variable: TT_VINYL_BLOOM_FPR
Dynamic: no
Since version 1.7.4. The cache size for the vinyl storage engine. The cache can be resized dynamically.
Type: integer
Default: 128 * 1024 * 1024 = 134217728 bytes
Environment variable: TT_VINYL_CACHE
Dynamic: yes
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.
Type: integer
Default: 1024 * 1024 = 1048576 bytes
Environment variable: TT_VINYL_MAX_TUPLE_SIZE
Dynamic: no
Since version 1.7.4.
The maximum number of in-memory bytes that vinyl uses.
Type: integer
Default: 128 * 1024 * 1024 = 134217728 bytes
Environment variable: TT_VINYL_MEMORY
Dynamic: yes but it cannot be decreased
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.
Type: integer
Default: 8 * 1024 = 8192 bytes
Environment variable: TT_VINYL_PAGE_SIZE
Dynamic: no
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.
Type: integer
Default: nil
Environment variable: TT_VINYL_RANGE_SIZE
Dynamic: no
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.
Type: integer
Default: 2
Environment variable: TT_VINYL_RUN_COUNT_PER_LEVEL
Dynamic: no
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.
Type: float
Default: 3.5
Environment variable: TT_VINYL_RUN_SIZE_RATIO
Dynamic: no
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.
Type: integer
Default: 1
Environment variable: TT_VINYL_READ_THREADS
Dynamic: no
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.
Type: integer
Default: 4
Environment variable: TT_VINYL_WRITE_THREADS
Dynamic: no