説明
この構成パラメータは、V1.4バージョンから導入されました。
機能の概要
freeze_trigger_percentageは、フリーズをトリガーするテナントのMemStoreメモリ使用率のしきい値を設定します。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 20
説明V4.0.0以降、デフォルト値は70から20に調整されました。 |
| 値の範囲 | (0, 100) |
| 変更は可能か | はい。ALTER SYSTEM SETステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
OceanBaseデータベースは、最新に書き込まれたデータをMemStoreに保存します。メモリオーバーフローを防ぐため、システムは2つの重要な保護メカニズムを提供しています:
- フリーズメカニズム:メモリ内のデータをディスクに永続化し、メモリ空き容量を確保します。
- スロットリングメカニズム:メモリ負荷が高すぎる場合、書き込み速度を低下させてメモリ解放のための時間を稼ぎます。
これら2つのメカニズムは、テナントレベルの2つの構成パラメータによって、トリガーのタイミングが制御されます:
freeze_trigger_percentage(フリーズしきい値)とwriting_throttling_trigger_percentage(スロットリングしきい値)です。早期のスロットリングによるパフォーマンス低下を避けるため、writing_throttling_trigger_percentageの値は
freeze_trigger_percentageの値より大きくする必要があります。テナントメモリ内のMemStoreの割合は、以下の構成パラメータで調整できます:
テナントのActive MemStoreメモリ使用量が
freeze_trigger_percentage * memstore_limit(ここで、memstore_limit = テナントメモリ * memstore_limit_percentage)に達すると、システムは自動的にフリーズ(ダンプの前段階の処理)をトリガーし、その後ダンプをスケジュールします。ダンプ後、システムは占有されていたMemStoreメモリを解放します。メモリ不足の場合、
memstore_limit_percentageの値を引き上げ、freeze_trigger_percentageの値を引き下げることで、一時的なメモリ拡張と迅速なダンプによるメモリ解放の効果を得ることができます。構成パラメータmemstore_limit_percentageは、テナントメモリ内でMemStoreへの書き込みに使用可能な割合を制御し、デフォルト値は0です。これは、テナントメモリ内でMemStoreへの書き込みに使用可能な割合をシステムが自動的に調整することを意味します。
設定例
フリーズをトリガーするテナントのMemStoreメモリ使用率のしきい値を20%に設定します。
obclient> ALTER SYSTEM SET freeze_trigger_percentage=20;