Note
This parameter is available starting with V1.4.
Description
freeze_trigger_percentage specifies the percentage of memory used by the MemStore of a tenant that triggers a freeze.
Privilege requirements
Query the parameter
The
systenant and all user tenants can query this parameter by using theSHOW PARAMETERSstatement or theGV$OB_PARAMETERSview.Modify the parameter
The
systenant and user tenants can modify this parameter.
Attributes
| Attribute | Description |
|---|---|
| Type | Int |
| Default value | 20
NoteStarting from V4.0.0, the default value is changed from 70 to 20. |
| Value range | (0, 100) |
| Modifiable | Yes. You can use the ALTER SYSTEM SET statement to modify the parameter. |
| Effective upon OBServer node restart | No. The setting takes effect immediately. |
Considerations
OceanBase Database stores the data written in the last period in the MemStore. To avoid memory overflow, the system provides two important protection mechanisms:
Freeze mechanism: The data in the memory is persisted to the disk to release memory space.
Throttling mechanism: When the memory pressure is high, the system reduces the write speed to gain time for memory release.
The two mechanisms are controlled by two tenant-level parameters:
freeze_trigger_percentage(freeze threshold) and writing_throttling_trigger_percentage (throttling threshold).To avoid performance degradation caused by early throttling, the value of writing_throttling_trigger_percentage must be greater than that of
freeze_trigger_percentage.You can adjust the proportion of MemStore memory in the tenant memory by using the following parameters:
When the memory used by the active MemStore of a tenant reaches
freeze_trigger_percentage * memstore_limit(wherememstore_limit = tenant memory * memstore_limit_percentage), the system automatically triggers a freeze (a preaction of a dump) and then schedules a dump. After the dump, the system releases the MemStore memory.When the memory is insufficient, you can increase the value of
memstore_limit_percentageand decrease the value offreeze_trigger_percentageto temporarily expand the memory and speed up the dump. Thememstore_limit_percentageparameter specifies the proportion of tenant memory that can be used for MemStore writes. The default value is 0, which indicates that the system adaptively adjusts the proportion of tenant memory that can be used for MemStore writes.
Examples
Set the percentage of memory used by the MemStore of a tenant that triggers a freeze to 20.
obclient> ALTER SYSTEM SET freeze_trigger_percentage=20;