説明
この構成パラメータは、V1.4バージョンから導入されました。
機能の概要
freeze_trigger_percentageは、フリーズをトリガーするテナントのMemStoreメモリ使用率のしきい値を設定します。
権限要件
パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはこの構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | 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;