説明
この構成パラメータは、V2.2.30バージョンから導入されました。
機能の概要
writing_throttling_trigger_percentageは、書き込み速度のしきい値を設定します。
権限要件
パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはこの構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 60
説明この構成パラメータは、V4.0.0バージョン以降でデフォルト値が100から60に変更されました。 |
| 値の範囲 | [1, 100] |
| 変更は可能か | はい。ALTER SYSTEM SET ステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
OceanBaseデータベースは、最近書き込まれたデータをMemStoreに保存します。メモリアウトを防ぐため、システムでは2つの重要な保護メカニズムが提供されています:
フリーズメカニズム:メモリ内のデータをディスクに永続化し、メモリ容量を解放します。
スロットリングメカニズム:メモリ圧力が高くなった場合、書き込み速度を低下させ、メモリ解放のための時間を稼ぎます。
これら2つのメカニズムは、2つのテナントレベルの構成パラメータによってトリガーのタイミングが制御されます:freeze_trigger_percentage(フリーズしきい値)と
writing_throttling_trigger_percentage(スロットリングしきい値)。早期のスロットリングによるパフォーマンスの低下を避けるため、
writing_throttling_trigger_percentageの値はfreeze_trigger_percentageの値より大きくする必要があります。V4.0.0バージョン以降、この構成パラメータのデフォルト値は60に調整されました。これは、スロットリング機能が非常に安定しており、ほとんどのビジネスシナリオでは、突発的なインポートトラフィック以外は基本的にスロットリングがトリガーされないためです。インポートシナリオにおいても、最終的な書き込み停止時よりもスロットリングの方が体験が良いため、デフォルトでこの機能を有効にしています。スロットリング効果を滑らかにするため、スロットリングのトリガーポイントを80ではなく60に設定しています。スロットリングのトリガーポイントを80に設定すると、残りの20%のバッファを消費して累積した80%のMEMStoreメモリ使用量を緩和することになり、これによりスロットリング効果が極端に強烈になり、業務側の応答時間が急激に増加することになります。
MemStoreの使用済みメモリがこのしきい値に達すると、書き込みスロットリングがトリガーされます。この構成パラメータの値が100の場合、書き込みスロットリングメカニズムは無効になります。
設定例
書き込み速度のしきい値を60に設定します。
obclient> ALTER SYSTEM SET writing_throttling_trigger_percentage = 60;