mse4-config-reference¶
Reference of MSE4 configuration keys¶
Manual section: | 7 |
---|
Value types¶
These are the different value types used by the configuration keys and their expected value format.
unsigned¶
Unquoted unsigned number.
double¶
Unquoted floating point number.
bool¶
true
or false
.
string¶
Quoted string.
id¶
Quoted string where the first character has to be a letter.
bytes¶
Quoted string containing an integer number, optionally followed by a unit
like “m
”.
categories¶
Takes a configuration group. Each key in the group can itself be a child
category group. Keys named as “*<property-name>*
” set properties on
the category.
Category properties:
*memory_weight*
Sets the memory weight of the category
*subdivisions*
Set the number of subdivisions to apply to this category.
*stores*
Set the list of stores belonging to this category.
*store_select*
Specify the algorithm to use when selecting a store from the available stores in this category.
See :ref:mse4-categories(7)
for more information.
books¶
Takes a list of configuration groups, where each group defines a book instance.
stores¶
Takes a list of configuration groups, where each group defines a store instance.
Section: Environment¶
memcache_chunksize¶
Ephemeral object memory chunk size
- Section: env
- Expect value type: bytes
- Default value: 4M
- Minimum value: 4k
The maximum size of the memory chunks allocated for ephemeral object fragments.
varylib_tblsize¶
Varylib table size
- Section: env
- Expect value type: bytes
- Default value: 4k
Size of table chunk used for vary library
storage_statelog_path¶
- Section: env
- Expect value type: string
- Default value: /usr/local/var/mse
require_all_devices¶
Require all file devices
- Section: env
- Expect value type: bool
- Default value: false
Require that all configured file devices (books and sores) are available when starting the Varnish daemon.
default_subdivisions¶
Default number category subdivisions
- Section: env
- Expect value type: unsigned
- Default value: 4
- Minimum value: 1
Category subdivisions used when the MSE4 configuration file does not specify a specific subdivision for the category.
default_store_select¶
Default store selection algorithm
- Section: env
- Expect value type: string
- Default value: smooth
- Minimum value: 0
Default algorithm to use in categories that do not specify a specific store selection algorithm for the category.
default_category¶
Default object category
- Section: env
- Expect value type: string
- Default value: fail
- Minimum value: 0
Default category to assign new objects when VCL does not set a category. The value ‘fail’ will cause object creation failure.
categories¶
Category definition tree
- Section: env
- Expect value type: categories
Category definition tree. See :ref:mse4-categories(7)
for more information
books¶
List of books
- Section: env
- Expect value type: books
List of books defined in this environment.
Section: Book¶
id¶
Book id
- Section: book
- Expect value type: id
- Minimum value: 1
- Maximum value: 16
- Flags: required
Symbolic ID of this book.
filename¶
Book filename
- Section: book
- Expect value type: string
- Minimum value: 1
- Flags: required
The full path filename of the book file that will hold persisted object metadata.
size¶
Book size
- Section: book
- Expect value type: bytes
- Minimum value: 1
- Flags: required
The size of the book in bytes.
required¶
Require file devices
- Section: book
- Expect value type: bool
- Default value: false
Require that this book is available when starting the Varnish daemon.
banjournal_size¶
Ban journal size
- Section: book
- Expect value type: bytes
- Default value: 10m
- Minimum value: 0
The size of the book ban journal in bytes.
slotjournal_percentage¶
Size of the slot journal
- Section: book
- Expect value type: double
- Default value: 0.1
- Minimum value: 0.0
- Maximum value: 1.0
slotjournal_line_len¶
Length of journal slot commit lineup
- Section: book
- Expect value type: unsigned
- Default value: 32768
- Minimum value: 1
Number of slots to line up for journal commit before new submissions are queued.
slot_reserved_hugepages¶
Attempt using hugepages for the slot table
- Section: book
- Expect value type: bool
- Default value: false
If true, an attempt at allocating the slot table using reserved hugepages will be made, with fallback to regular pages.
slot_hugepages¶
Mark slot table for use with transparent hugepages
- Section: book
- Expect value type: bool
- Default value: false
Mark slot table allocation for use with transparent hugepages.
quickslot_reserved_hugepages¶
Attempt using hugepages for the quickslot table
- Section: book
- Expect value type: bool
- Default value: false
If true, an attempt at allocating the quickslot table using reserved hugepages will be made, with fallback to regular pages.
quickslot_hugepages¶
Mark quickslot table for use with transparent hugepages
- Section: book
- Expect value type: bool
- Default value: false
Mark quickslot table allocation for use with transparent hugepages.
ykey_key_bits¶
Persisted object Ykey search tree key bits
- Section: book
- Expect value type: unsigned
- Default value: 8
- Minimum value: 0
- Maximum value: 20
Number of key bits used in the persisted object Ykey search tree root selection. This setting is closely related to the ykey_slot_bits, and the number of roots in use is two to the power of the sum of the settings. Note that the sum is not allowed to exceed 20.
ykey_slot_bits¶
Persisted object Ykey search tree slot bits
- Section: book
- Expect value type: unsigned
- Default value: 7
- Minimum value: 0
- Maximum value: 20
Number of bits from the slot number used in the persisted object Ykey search tree root selection. This setting is closely related to the ykey_key_bits setting, and the number of roots in use is two to power of the sum of the settings. Note that the sum is not allowed to exceed 20.
aio_engine¶
Engine to use for book writing
- Section: book
- Expect value type: string
- Default value: auto
Engine to use for asynchronous writing to the book. Valid values are ‘auto’, ‘iouring’ and ‘classic’.
slot_table_aio_requests¶
Number of simultaneous AIO requests to schedule on the book during a checkpoint
- Section: book
- Expect value type: unsigned
- Default value: 128
- Minimum value: 1
- Maximum value: 65536
Number of simultaneous AIO requests to schedule on the book during a checkpoint
slot_liberator_batch_size¶
Batch size to use when evicting objects to free slots
- Section: book
- Expect value type: unsigned
- Default value: 64
- Minimum value: 1
The number of objects to batch up when evicting objects to increase the number of free slots in the book.
slot_reserve¶
The percentage of slots to be kept in reserve
- Section: book
- Expect value type: double
- Default value: 0.5
- Minimum value: 0
- Maximum value: 50
When the number of unused slots goes below this percentage of the total number of available slots in the book, objects will start to be evicted to free up slots.
debug_alloc¶
Apply extra alloc related debug
- Section: book
- Expect value type: bool
- Default value: false
Apply extra alloc related debug operations. This comes at a cost.
Section: Store¶
id¶
Store id
- Section: store
- Expect value type: id
- Minimum value: 1
- Maximum value: 16
- Flags: required
Symbolic ID of this store.
filename¶
Storage file name
- Section: store
- Expect value type: string
- Minimum value: 1
- Flags: required
The full path filename of the storage file that will hold the persisted objects.
size¶
Store size
- Section: store
- Expect value type: bytes
- Default value: 1G
- Minimum value: 10m
- Flags: required
The size of the store in bytes.
required¶
Require file devices
- Section: store
- Expect value type: bool
- Default value: false
Require that this store is available when starting the Varnish daemon.
segment_size¶
Store segment size
- Section: store
- Expect value type: bytes
- Default value: 1G
- Minimum value: 4096
- Maximum value: 4G
The size of the segments the store is divided into and used to track allocations. The actual selected segment size will be subject to rounding internally.
reserve_minchunksize¶
Minimum size of a free chunk to be counted towards the free reserve
- Section: store
- Expect value type: bytes
- Default value: 512k
- Minimum value: 16k
- Maximum value: 8m
When mapping out segments for free space, chunks smaller than this will not be counted as contributing to reach the reserve_size target.
reserve_size¶
Target indexed free space to keep mapped for incoming objects
- Section: store
- Expect value type: bytes
- Default value: 10G
- Minimum value: 10G
Segments will be actively mapped to find free space when less free space is readily available than this value. Any value higher than 10 percent of the store size will be truncated to 10 percent of the store size.
alloc_chunksize¶
The target allocation chunk size for persisted objects
- Section: store
- Expect value type: bytes
- Default value: 2m
- Minimum value: 4k
This setting determines the size of the chunks to break down large persisted objects into.
segment_remap_threshold¶
Segment low fill level remap threshold
- Section: store
- Expect value type: double
- Default value: 0.9
- Minimum value: 0.0
- Maximum value: 1.0
Fill level threshold below which segments will be considered for remapping available space, making it available again for future allocations.
lru_painted¶
Fraction of store objects painted as candidates for store purges
- Section: store
- Expect value type: double
- Default value: 0.33
- Minimum value: 0
- Maximum value: 1
This fraction of the objects on the store LRU will be painted as candidates for store purge when there is too little space available for new objects in the cache. The painted objects are all eligeble for purging, and which object is purged is based on the location they occupy in the store so that continous free areas may be created.
aio_engine¶
Engine to use for store reading and writing
- Section: store
- Expect value type: string
- Default value: auto
Engine to use for asynchronous reading and writing to and from the store. Valid values are ‘auto’, ‘iouring’ and ‘classic’.
aio_requests¶
Number of simultaneous AIO requests to schedule on the store
- Section: store
- Expect value type: unsigned
- Default value: 128
- Minimum value: 1
Number of simultaneous AIO requests to schedule on the store.
aio_queue_length¶
Number of AIO requests to queue before blocking
- Section: store
- Expect value type: unsigned
- Default value: 256
- Minimum value: 1
Number of AIO requests to queue before blocking.
write_checksum¶
Produce checksum of store writes
- Section: store
- Expect value type: bool
- Default value: true
Produce checksum of store writes.
verify_checksum¶
Verify checksum on store reads
- Section: store
- Expect value type: bool
- Default value: true
Verify checksum on store reads.
chksum_algorithm¶
Checksum algorithm
- Section: store
- Expect value type: string
- Default value: xxh3
Which checksum algorithm to use for the store. Valid values are ‘crc32’, ‘crc32c’, ‘crc64’ and ‘xxh3’.