ガベージコレクションのConfiguration / コンフィグレーション
ガベージコレクションは、次のシステム変数を介して構成されます。
GC I/O制限
TiKVはGCI/O制限をサポートします。 gc.max-write-bytes-per-sec
を設定して、1秒あたりのGCワーカーの書き込みを制限し、通常のリクエストへの影響を減らすことができます。
0
は、この機能を無効にすることを示します。
tikv-ctlを使用して、この構成を動的に変更できます。
tikv-ctl --host=ip:port modify-tikv-config -n gc.max-write-bytes-per-sec -v 10MB
TiDB5.0での変更
TiDBの以前のリリースでは、ガベージコレクションはmysql.tidb
のシステムテーブルを介して構成されていました。このテーブルへの変更は引き続きサポートされますが、提供されているシステム変数を使用することをお勧めします。これにより、構成への変更を確実に検証し、予期しない動作を防ぐことができます( #20655 )。
CENTRAL
ガベージコレクションモードはサポートされなくなりました。 DISTRIBUTED
GCモード(TiDB 3.0以降のデフォルト)が代わりに自動的に使用されます。 TiDBがガベージコレクションをトリガーするために各TiKVリージョンにリクエストを送信する必要がなくなるため、このモードはより効率的です。
以前のリリースでの変更点については、左側のメニューのTIDBバージョンセレクターを使用して、このドキュメントの以前のバージョンを参照してください。
コンパクションフィルターのGC
DISTRIBUTED
GCモードに基づいて、圧縮フィルターのGCのメカニズムは、個別のGCワーカースレッドではなく、RocksDBの圧縮プロセスを使用してGCを実行します。この新しいGCメカニズムは、GCによって引き起こされる余分なディスク読み取りを回避するのに役立ちます。また、廃止されたデータをクリアした後、シーケンシャルスキャンのパフォーマンスを低下させる多数の左のトゥームストーンマークを回避します。次の例は、TiKV構成ファイルでメカニズムを有効にする方法を示しています。
[gc]
enable-compaction-filter = true
オンラインで構成を変更することにより、このGCメカニズムを有効にすることもできます。次の例を参照してください。
show config where type = 'tikv' and name like '%enable-compaction-filter%';
+------+-------------------+-----------------------------+-------+
| Type | Instance | Name | Value |
+------+-------------------+-----------------------------+-------+
| tikv | 172.16.5.37:20163 | gc.enable-compaction-filter | false |
| tikv | 172.16.5.36:20163 | gc.enable-compaction-filter | false |
| tikv | 172.16.5.35:20163 | gc.enable-compaction-filter | false |
+------+-------------------+-----------------------------+-------+
set config tikv gc.enable-compaction-filter = true;
show config where type = 'tikv' and name like '%enable-compaction-filter%';
+------+-------------------+-----------------------------+-------+
| Type | Instance | Name | Value |
+------+-------------------+-----------------------------+-------+
| tikv | 172.16.5.37:20163 | gc.enable-compaction-filter | true |
| tikv | 172.16.5.36:20163 | gc.enable-compaction-filter | true |
| tikv | 172.16.5.35:20163 | gc.enable-compaction-filter | true |
+------+-------------------+-----------------------------+-------+