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