Customizing local instance

You may set TStorage params via Docker environment variables to further customize your experience. Some of those options may be changed freely, while others can only be set once and require purging previous records to change, since they influence data placement.

Instance options

Compose param name

Possible values

Default

Short description

tstorage_cid_log2_width

[0; 28]

3

Describes how many consecutive CID values (expressed as a power of 2) are bundled together for filtering. Increasing it speeds up PUTs over multiple values, decreasing optimizes GET requests.

tstorage_mid_log2_width

[0; 60]

10

Describes how many consecutive MID values (expressed as a power of 2) are bundled together for filtering. Increasing it speeds up PUTs over multiple values, decreasing optimizes GET requests.

tstorage_moid_log2_width

[0; 28]

3

Describes how many consecutive MOID values (expressed as a power of 2) are bundled together for filtering. Increasing it speeds up PUTs over multiple values, decreasing optimizes GET requests.

tstorage_cap_log2_width

[0; 60]

49

Describes how many consecutive CAP values (expressed as a power of 2) are bundled together for filtering. Increasing it speeds up PUTs over multiple values, decreasing optimizes GET requests.

tstorage_acq_log2_width

[0; 60]

46

Describes how many consecutive CID values (expressed as a power of 2) are bundled together for filtering. Increasing it speeds up PUTs over multiple values, decreasing optimizes GET requests.

Runtime options

Compose param name

Default

Short description

tstorage_workers

10

Describes total number of parallel requests that may be handled by given TStorage instance. Incrementing this param may lead to proportional increase in RAM consumption by database instance.

tstorage_buf_size

67108864

Describes size of internal buffers to store serialized data in bytes. Min. size 33MiB.

tstorage_timeout_ms

30000

Describes timeout of internal TCP connections in milliseconds.

Example customization

To optimize TStorage for retrieving data from singular measurements at a time, we may change its parameters to:

Compose param name

Value

tstorage_cid_log2_width

0

tstorage_mid_log2_width

0

tstorage_moid_log2_width

0

cap and acq will depend on the frequency of measurements:

Compose param name

15 minutes measurements

1 minute measurements

10 seconds measurements

1 second measurements

tstorage_cap_log2_width

56

52

49

46

tstorage_acq_log2_width

56

52

49

46

Note that exact optimized configuration will depend on various other components and has to be prepared for specific use case. For example if you want to retrieve data from longer duration, then you should increase both tstorage_cap_log2_width as well as tstorage_acq_log2_width. Feel free to contact us if you have any more questions.