これはアーカイブされた TiDB のドキュメントであり、更新は行われていません。最新の LTS バージョンのドキュメントを表示する

TiKVコンフィグレーションファイル

TiKV 構成ファイルは、コマンドライン パラメーターよりも多くのオプションをサポートしています。 etc/config-template.tomlにデフォルトの構成ファイルがあり、名前をconfig.tomlに変更できます。

このドキュメントでは、コマンド ライン パラメーターに含まれていないパラメーターについてのみ説明します。詳細については、 コマンドライン パラメータを参照してください。

グローバル構成

abort-on-panic

  • TiKV がパニックしたときにabort()を呼び出してプロセスを終了するかどうかを設定します。このオプションは、TiKV がシステムにコア ダンプ ファイルの生成を許可するかどうかに影響します。

    • この構成項目の値がfalseの場合、TiKV がパニックになると、プロセスを終了するためにexit()が呼び出されます。
    • この構成項目の値がtrueの場合、TiKV がパニックになると、TiKV はabort()を呼び出してプロセスを終了します。現時点では、TiKV を使用すると、システムは終了時にコア ダンプ ファイルを生成できます。コア ダンプ ファイルを生成するには、コア ダンプに関連するシステム構成 (たとえば、 ulimit -cコマンドを使用してコア ダンプ ファイルのサイズ制限を設定し、コア ダンプ パスを構成するなど) も実行する必要があります。オペレーティング システムが異なれば、関連する構成も異なります。 )。コア ダンプ ファイルがディスク領域を占有しすぎて、TiKV のディスク領域が不足するのを避けるために、コア ダンプの生成パスを TiKV データのディスク パーティションとは異なるディスク パーティションに設定することをお勧めします。
  • デフォルト値: false

slow-log-file

  • スローログを保存するファイル
  • この構成項目を設定せずにlog.file.filenameを設定すると、 log.file.filenameで指定されたログ ファイルにスロー ログが出力されます。
  • slow-log-filelog.file.filename設定されていない場合、すべてのログはデフォルトで「stderr」に出力されます。
  • 両方の設定項目が設定されている場合、通常のログはlog.file.filenameで指定されたログ ファイルに出力され、slow ログはslow-log-fileで指定されたログ ファイルに出力されます。
  • デフォルト値: ""

slow-log-threshold

  • スローログを出力するためのしきい値。処理時間がこの閾値よりも長い場合、スローログが出力されます。
  • デフォルト値: "1s"

ログv5.4.0 の新機能

  • ログに関するコンフィグレーション項目です。

  • v5.4.0 から、TiKV と TiDB のログ構成項目を一致させるために、TiKV は以前の構成項目log-rotation-timespanを廃止し、 log-levellog-formatlog-filelog-rotation-sizeを次のように変更します。古い構成アイテムのみを設定し、それらの値がデフォルト以外の値に設定されている場合、古いアイテムは新しいアイテムと互換性があります。新旧両方の構成項目が設定されている場合、新しい項目が有効になります。

level v5.4.0 の新機能

  • ログレベル
  • オプションの値: "debug""info""warn""error""fatal"
  • デフォルト値: "info"

format v5.4.0 の新機能

  • ログ形式
  • オプションの値: "json""text"
  • デフォルト値: "text"

enable-timestamp v5.4.0 の新機能

  • ログのタイムスタンプを有効にするか無効にするかを決定します
  • オプションの値: truefalse
  • デフォルト値: true

log.file v5.4.0 の新機能

  • ログファイルに関するコンフィグレーション項目です。

filename v5.4.0 の新機能

  • ログファイル。この設定項目が設定されていない場合、デフォルトで「stderr」にログが出力されます。この設定項目が設定されている場合、ログは対応するファイルに出力されます。
  • デフォルト値: ""

v5.4.0 の新max-size

  • 1 つのログ ファイルの最大サイズ。ファイル サイズがこの構成項目で設定された値よりも大きい場合、システムは単一のファイルを複数のファイルに自動的に分割します。
  • デフォルト値: 300
  • 最大値: 4096
  • 単位:MiB

v5.4.0 の新max-days

  • TiKV がログ ファイルを保持する最大日数。
    • 構成項目が設定されていない場合、またはその値がデフォルト値0に設定されている場合、TiKV はログ ファイルを消去しません。
    • パラメータが0以外の値に設定されている場合、TiKV はmax-daysの後に期限切れのログ ファイルをクリーンアップします。
  • デフォルト値: 0

max-backups v5.4.0 の新機能

  • TiKV が保持するログ ファイルの最大数。
    • 構成項目が設定されていない場合、またはその値がデフォルト値0に設定されている場合、TiKV はすべてのログ ファイルを保持します。
    • 構成項目が0以外の値に設定されている場合、TiKV は最大でmax-backupsで指定された数の古いログ ファイルを保持します。たとえば、値が7に設定されている場合、TiKV は最大 7 つの古いログ ファイルを保持します。
  • デフォルト値: 0

pd.enable-forwarding v5.0.0 の新機能

  • ネットワーク分離の可能性がある場合に、TiKV の PD クライアントがフォロワー経由でリーダーにリクエストを転送するかどうかを制御します。
  • デフォルト値: false
  • 環境でネットワークが分離されている可能性がある場合、このパラメーターを有効にすると、サービスが利用できなくなる期間を短縮できます。
  • 分離、ネットワークの中断、またはダウンタイムが発生したかどうかを正確に判断できない場合、このメカニズムを使用すると判断を誤るリスクがあり、可用性とパフォーマンスが低下します。ネットワーク障害が発生したことがない場合は、このパラメーターを有効にすることはお勧めしません。

サーバー

  • サーバーに関連するコンフィグレーション項目。

status-thread-pool-size

  • HTTP API サービスのワーカー スレッドの数
  • デフォルト値: 1
  • 最小値: 1

grpc-compression-type

  • gRPC メッセージの圧縮アルゴリズム
  • オプションの値: "none""deflate""gzip"
  • デフォルト値: "none"
  • 注: 値がgzipの場合、場合によっては対応する圧縮アルゴリズムが完了しない可能性があるため、TiDB ダッシュボードに表示エラーが発生します。値をデフォルトのnoneに戻すと、TiDB ダッシュボードは正常に表示されます。

grpc-concurrency

grpc-concurrent-stream

  • gRPC ストリームで許可される同時リクエストの最大数
  • デフォルト値: 1024
  • 最小値: 1

grpc-memory-pool-quota

  • gRPC で使用できるメモリサイズを制限します
  • デフォルト値: 制限なし
  • OOM が観察された場合に備えてメモリを制限します。使用を制限すると、潜在的な失速につながる可能性があることに注意してください

grpc-raft-conn-num

  • Raft通信用の TiKV ノード間のリンクの最大数
  • デフォルト値: 1
  • 最小値: 1

max-grpc-send-msg-len

  • 送信できる gRPC メッセージの最大長を設定します
  • デフォルト値: 10485760
  • 単位: バイト
  • 最大値: 2147483647

grpc-stream-initial-window-size

  • gRPC ストリームのウィンドウ サイズ
  • デフォルト値: 2MB
  • 単位: KB|MB|GB
  • 最小値: "1KB"

grpc-keepalive-time

  • その gRPC がkeepalive Ping メッセージを送信する時間間隔
  • デフォルト値: "10s"
  • 最小値: "1s"

grpc-keepalive-timeout

  • gRPC ストリームのタイムアウトを無効にします
  • デフォルト値: "3s"
  • 最小値: "1s"

concurrent-send-snap-limit

  • 同時に送信されるスナップショットの最大数
  • デフォルト値: 32
  • 最小値: 1

concurrent-recv-snap-limit

  • 同時に受信するスナップショットの最大数
  • デフォルト値: 32
  • 最小値: 1

end-point-recursion-limit

  • TiKV がコプロセッサーDAG 式をデコードするときに許可される再帰レベルの最大数
  • デフォルト値: 1000
  • 最小値: 1

end-point-request-max-handle-duration

  • タスクを処理するための TiDB の TiKV へのプッシュダウン要求に許可される最長期間
  • デフォルト値: "60s"
  • 最小値: "1s"

snap-max-write-bytes-per-sec

  • スナップショット処理時の最大許容ディスク帯域幅
  • デフォルト値: "100MB"
  • 単位: KB|MB|GB
  • 最小値: "1KB"

end-point-slow-log-threshold

  • TiDB のプッシュダウン リクエストがスロー ログを出力する時間のしきい値。処理時間がこの閾値よりも長い場合、スローログが出力されます。
  • デフォルト値: "1s"
  • 最小値: 0

raft-client-queue-size

  • TiKV のRaftメッセージのキュー サイズを指定します。時間内に送信されないメッセージが多すぎてバッファがいっぱいになるか、メッセージが破棄される場合は、より大きな値を指定してシステムの安定性を向上させることができます。
  • デフォルト値: 8192

forward-max-connections-per-address v5.0.0 の新機能

  • サーバーへのサービスおよび転送要求の接続プールのサイズを設定します。小さすぎる値に設定すると、リクエストのレイテンシーと負荷分散に影響します。
  • デフォルト値: 4

readpool.unified

読み取り要求を処理する単一のスレッド プールに関連するコンフィグレーション項目。このスレッド プールは、4.0 バージョン以降、元のストレージ スレッド プールとコプロセッサ スレッド プールに取って代わります。

min-thread-count

  • 統合読み取りプールの最小作業スレッド数
  • デフォルト値: 1

max-thread-count

stack-size

  • 統合スレッド プール内のスレッドのスタック サイズ
  • タイプ: 整数 + 単位
  • デフォルト値: "10MB"
  • 単位: KB|MB|GB
  • 最小値: "2MB"
  • 最大値:システムで実行されたulimit -sHコマンドの結果として出力される K バイト数。

max-tasks-per-worker

  • 統合読み取りプール内の 1 つのスレッドに許可されるタスクの最大数。値を超えた場合はServer Is Busyを返します。
  • デフォルト値: 2000
  • 最小値: 2

readpool.storage

ストレージ スレッド プールに関連するコンフィグレーションアイテム。

use-unified-pool

  • ストレージ要求に統合スレッド プール ( readpool.unifiedで構成) を使用するかどうかを決定します。このパラメーターの値がfalseの場合、別のスレッド プールが使用されます。これは、このセクションの残りのパラメーター ( readpool.storage ) によって構成されます。
  • デフォルト値: このセクション ( readpool.storage ) に他の構成がない場合、デフォルト値はtrueです。それ以外の場合、下位互換性のために、デフォルト値はfalseです。このオプションを有効にする前に、必要に応じてreadpool.unifiedの構成を変更してください。

high-concurrency

  • 高優先度read要求を処理する同時スレッドの許容数
  • 8cpu num16の場合、デフォルト値はcpu_num * 0.5です。 cpu num8より小さい場合、デフォルト値は4です。 cpu num16より大きい場合、デフォルト値は8です。
  • 最小値: 1

normal-concurrency

  • 通常優先度read要求を処理する同時スレッドの許容数
  • 8cpu num16の場合、デフォルト値はcpu_num * 0.5です。 cpu num8より小さい場合、デフォルト値は4です。 cpu num16より大きい場合、デフォルト値は8です。
  • 最小値: 1

low-concurrency

  • 低優先度read要求を処理する同時スレッドの許容数
  • 8cpu num16の場合、デフォルト値はcpu_num * 0.5です。 cpu num8より小さい場合、デフォルト値は4です。 cpu num16より大きい場合、デフォルト値は8です。
  • 最小値: 1

max-tasks-per-worker-high

  • 優先度の高いスレッド プール内の 1 つのスレッドに許可されるタスクの最大数。値を超えた場合はServer Is Busyを返します。
  • デフォルト値: 2000
  • 最小値: 2

max-tasks-per-worker-normal

  • 標準優先度のスレッド プール内の 1 つのスレッドに許可されるタスクの最大数。値を超えた場合はServer Is Busyを返します。
  • デフォルト値: 2000
  • 最小値: 2

max-tasks-per-worker-low

  • 優先度の低いスレッド プール内の 1 つのスレッドに許可されるタスクの最大数。値を超えた場合はServer Is Busyを返します。
  • デフォルト値: 2000
  • 最小値: 2

stack-size

  • ストレージ読み取りスレッド プール内のスレッドのスタック サイズ
  • タイプ: 整数 + 単位
  • デフォルト値: "10MB"
  • 単位: KB|MB|GB
  • 最小値: "2MB"
  • 最大値:システムで実行されたulimit -sHコマンドの結果として出力される K バイト数。

readpool.coprocessor

コプロセッサースレッド プールに関連するコンフィグレーション項目。

use-unified-pool

  • コプロセッサー要求に統合スレッド・プール ( readpool.unifiedで構成) を使用するかどうかを決定します。このパラメーターの値がfalseの場合、別のスレッド プールが使用されます。これは、このセクションの残りのパラメーター ( readpool.coprocessor ) によって構成されます。
  • デフォルト値: このセクションのパラメーター ( readpool.coprocessor ) が設定されていない場合、デフォルト値はtrueです。それ以外の場合、下位互換性のためにデフォルト値はfalseです。このパラメータを有効にする前に、 readpool.unifiedの設定項目を調整してください。

high-concurrency

  • チェックポイントなどの優先度の高いコプロセッサー要求を処理する同時スレッドの許容数
  • デフォルト値: CPU * 0.8
  • 最小値: 1

normal-concurrency

  • 通常優先度のコプロセッサー要求を処理する同時スレッドの許容数
  • デフォルト値: CPU * 0.8
  • 最小値: 1

low-concurrency

  • テーブルスキャンなどの優先度の低いコプロセッサー要求を処理する同時スレッドの許容数
  • デフォルト値: CPU * 0.8
  • 最小値: 1

max-tasks-per-worker-high

  • 優先順位の高いスレッド プール内の 1 つのスレッドに許可されるタスクの数。この数を超えると、 Server Is Busyが返されます。
  • デフォルト値: 2000
  • 最小値: 2

max-tasks-per-worker-normal

  • 標準優先度のスレッド プールで 1 つのスレッドに許可されるタスクの数。この数を超えると、 Server Is Busyが返されます。
  • デフォルト値: 2000
  • 最小値: 2

max-tasks-per-worker-low

  • 優先順位の低いスレッド プール内の 1 つのスレッドに許可されるタスクの数。この数を超えると、 Server Is Busyが返されます。
  • デフォルト値: 2000
  • 最小値: 2

stack-size

  • コプロセッサー・スレッド・プール内のスレッドのスタック・サイズ
  • タイプ: 整数 + 単位
  • デフォルト値: "10MB"
  • 単位: KB|MB|GB
  • 最小値: "2MB"
  • 最大値:システムで実行されたulimit -sHコマンドの結果として出力される K バイト数。

保管所

ストレージに関するコンフィグレーション項目。

scheduler-concurrency

  • キーの同時操作を防止する内蔵メモリロック機構。各キーには、異なるスロットにハッシュがあります。
  • デフォルト値: 524288
  • 最小値: 1

scheduler-worker-pool-size

  • schedulerスレッドの数。主にデータ書き込み前のトランザクションの整合性チェックに使用されます。 CPU コアの数が16以上の場合、デフォルト値は8です。それ以外の場合、デフォルト値は4です。スケジューラのスレッド プールのサイズを変更する場合は、 TiKV スレッド プールのパフォーマンス チューニングを参照してください。
  • デフォルト値: 4
  • 最小値: 1

scheduler-pending-write-threshold

  • 書き込みキューの最大サイズ。この値を超えると、TiKV への新しい書き込みに対してServer Is Busyエラーが返されます。
  • デフォルト値: "100MB"
  • 単位: MB|GB

reserve-space

  • TiKV が開始されると、ディスク保護としてディスク上にいくらかのスペースが確保されます。残りのディスク容量が予約容量よりも少ない場合、TiKV は一部の書き込み操作を制限します。予約領域は 2 つの部分に分けられます。予約領域の 80% は、ディスク領域が不足している場合に操作に必要な追加のディスク領域として使用され、残りの 20% は一時ファイルを格納するために使用されます。スペースを再利用するプロセスで、余分なディスク スペースを使用しすぎてストレージが使い果たされた場合、この一時ファイルは、サービスを復元するための最後の保護として機能します。
  • 一時ファイルの名前はspace_placeholder_fileで、 storage.data-dirディレクトリにあります。ディスク容量が不足して TiKV がオフラインになった場合、TiKV を再起動すると、一時ファイルは自動的に削除され、TiKV は容量を再利用しようとします。
  • 残りのスペースが不足している場合、TiKV は一時ファイルを作成しません。保護の有効性は、予約済みスペースのサイズに関連しています。予約領域のサイズは、ディスク容量の 5% とこの構成値の間の大きい方の値です。この構成項目の値が"0MB"の場合、TiKV はこのディスク保護機能を無効にします。
  • デフォルト値: "5GB"
  • 単位: MB|GB

enable-ttl

  • TTL は「Time to live」の略です。この項目を有効にすると、TiKV は TTL に達したデータを自動的に削除します。 TTL の値を設定するには、クライアント経由でデータを書き込むときにリクエストで指定する必要があります。 TTL が指定されていない場合、TiKV は対応するデータを自動的に削除しないことを意味します。
  • デフォルト値: false

ttl-check-poll-interval

  • 物理スペースを再利用するためにデータをチェックする間隔。データが TTL に達すると、TiKV はチェック中に物理スペースを強制的に解放します。
  • デフォルト値: "12h"
  • 最小値: "0s"

storage.block-cache

複数の RocksDBカラムファミリー (CF) 間でのブロックキャッシュの共有に関連するコンフィグレーション項目。これらの構成項目を有効にすると、カラムファミリーごとに個別に構成されたブロックキャッシュが無効になります。

shared

  • ブロックキャッシュの共有を有効または無効にします。
  • デフォルト値: true

capacity

  • 共有ブロックキャッシュのサイズ。
  • デフォルト値: 合計システムメモリのサイズの 45%
  • 単位: KB|MB|GB

storage.flow-control

TiKVにおけるフロー制御機構に関するコンフィグレーション項目です。このメカニズムは、RocksDB の書き込みストール メカニズムに取って代わり、スケジューラレイヤーでフローを制御します。

enable

  • フロー制御メカニズムを有効にするかどうかを決定します。有効にすると、TiKV は KvDB の書き込みストール メカニズムと RaftDB の書き込みストール メカニズム (memtable を除く) を自動的に無効にします。
  • デフォルト値: true

memtables-threshold

  • kvDB memtables の数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。 enabletrueに設定されている場合、この構成項目はrocksdb.(defaultcf|writecf|lockcf).max-write-buffer-numberをオーバーライドします。
  • デフォルト値: 5

l0-files-threshold

  • kvDB L0 ファイルの数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。 enabletrueに設定されている場合、この構成項目はrocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-triggerをオーバーライドします。
  • デフォルト値: 20

soft-pending-compaction-bytes-limit

  • KvDB の保留中の圧縮バイトがこのしきい値に達すると、フロー制御メカニズムは一部の書き込み要求を拒否し始め、 ServerIsBusyエラーを報告します。 enabletrueに設定されている場合、この構成項目はrocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limitをオーバーライドします。
  • デフォルト値: "192GB"

hard-pending-compaction-bytes-limit

  • KvDB の保留中の圧縮バイトがこのしきい値に達すると、フロー制御メカニズムはすべての書き込み要求を拒否し、 ServerIsBusyエラーを報告します。 enabletrueに設定されている場合、この構成項目はrocksdb.(defaultcf|writecf|lockcf).hard-pending-compaction-bytes-limitをオーバーライドします。
  • デフォルト値: "1024GB"

storage.io-rate-limit

I/Oレートリミッターに関するコンフィグレーション項目です。

max-bytes-per-sec

  • サーバーが1 秒間にディスクに書き込みまたはディスクから読み取ることができる最大 I/O バイトを制限します (以下のmodeの構成項目によって決定されます)。この制限に達すると、TiKV はフォアグラウンド操作よりもバックグラウンド操作を調整することを優先します。この構成項目の値は、ディスクの最適な I/O 帯域幅 (たとえば、クラウド ディスク ベンダーによって指定された最大 I/O 帯域幅) に設定する必要があります。この構成値がゼロに設定されている場合、ディスク I/O 操作は制限されません。
  • デフォルト値: "0MB"

mode

  • どのタイプの I/O 操作がカウントされ、しきい値max-bytes-per-sec未満に抑制されるかを決定します。現在、書き込み専用モードのみがサポートされています。
  • オプション値: "write-only"
  • デフォルト値: "write-only"

いかだ屋

Raftstore に関連するコンフィグレーション項目。

prevote

  • prevoteを有効または無効にします。この機能を有効にすると、ネットワーク パーティションから回復した後のシステムのジッターを減らすのに役立ちます。
  • デフォルト値: true

capacity

  • データを保存できる最大サイズであるストレージ容量。 capacityを指定しない場合、現在のディスクの容量が優先されます。複数の TiKV インスタンスを同じ物理ディスクにデプロイするには、このパラメーターを TiKV 構成に追加します。詳細については、 ハイブリッド展開の主要なパラメーターを参照してください。
  • デフォルト値: 0

raftdb-path

  • デフォルトではstorage.data-dir/raftであるRaftライブラリへのパス
  • デフォルト値: ""

raft-base-tick-interval

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • Raftステート マシンが動作する時間間隔
  • デフォルト値: "1s"
  • 最小値: 0より大きい

raft-heartbeat-ticks

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • ハートビートが送信されたときに通過したティックの数。これは、ハートビートがraft-base-tick-interval * raft-heartbeat-ticksの時間間隔で送信されることを意味します。
  • デフォルト値: 2
  • 最小値: 0より大きい

raft-election-timeout-ticks

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • Raft選択が開始されたときに渡されたティックの数。これは、 Raftグループにリーダーがいない場合、約raft-base-tick-interval * raft-election-timeout-ticksの時間間隔の後にリーダー選出が開始されることを意味します。
  • デフォルト値: 10
  • 最小値: raft-heartbeat-ticks

raft-min-election-timeout-ticks

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • Raft選択が開始されるティックの最小数。数値が0の場合、値raft-election-timeout-ticksが使用されます。このパラメーターの値はraft-election-timeout-ticks以上でなければなりません。
  • デフォルト値: 0
  • 最小値: 0

raft-max-election-timeout-ticks

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • Raft選択が開始されるティックの最大数。数値が0の場合、 raft-election-timeout-ticks * 2の値が使用されます。
  • デフォルト値: 0
  • 最小値: 0

raft-max-size-per-msg

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • 1 つのメッセージ パケットのサイズに対するソフト リミット
  • デフォルト値: "1MB"
  • 最小値: 0
  • 単位:MB

raft-max-inflight-msgs

ノート:

この構成項目は、SQL ステートメントを介して照会することはできませんが、構成ファイルで構成できます。

  • 確認するRaftログの数。この数を超えると、ログの送信が遅くなります。
  • デフォルト値: 256
  • 最小値: 0より大きい

raft-entry-max-size

  • 1 つのログの最大サイズのハード リミット
  • デフォルト値: "8MB"
  • 最小値: 0
  • 単位: MB|GB

raft-log-compact-sync-interval v5.3 の新機能

  • 不要なRaftログを圧縮する時間間隔
  • デフォルト値: "2s"
  • 最小値: "0s"

raft-log-gc-tick-interval

  • Raftログを削除するポーリング タスクがスケジュールされる時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "3s"
  • 最小値: "0s"

raft-log-gc-threshold

  • 残りのRaftログの最大許容数のソフト リミット
  • デフォルト値: 50
  • 最小値: 1

raft-log-gc-count-limit

  • 残りのRaftログの許容数のハード リミット
  • デフォルト値:3/4リージョンサイズに収まるログ数(1ログあたり1MBとして計算)
  • 最小値: 0

raft-log-gc-size-limit

  • 残りのRaftログの許容サイズのハード リミット
  • デフォルト値:リージョンサイズの 3/4
  • 最小値: 0より大きい

raft-log-reserve-max-ticks v5.3 の新機能

  • この構成項目で設定されたティック数が経過した後、残りのRaftログの数がraft-log-gc-thresholdで設定された値に達しない場合でも、TiKV はこれらのログに対してガベージコレクション(GC) を実行します。
  • デフォルト値: 6
  • 最小値: 0より大きい

raft-entry-cache-life-time

  • メモリ内のログ キャッシュに許可される最大残り時間。
  • デフォルト値: "30s"
  • 最小値: 0

hibernate-regions

  • Hibernate リージョンを有効または無効にします。このオプションを有効にすると、長時間アイドル状態のリージョンが自動的に休止状態に設定されます。これにより、アイドル状態のリージョンのRaftリーダーとフォロワーの間のハートビートメッセージによって引き起こされる余分なオーバーヘッドが削減されます。 peer-stale-state-check-intervalを使用して、休止状態のリージョンのリーダーとフォロワーの間のハートビート間隔を変更できます。
  • デフォルト値: v5.0.2 以降のバージョンではtrue 。 v5.0.2 より前のバージョンではfalse

split-region-check-tick-interval

  • リージョン分割が必要かどうかを確認する間隔を指定します。 0 、この機能が無効であることを意味します。
  • デフォルト値: "10s"
  • 最小値: 0

region-split-check-diff

  • リージョン分割前にリージョンデータが超えることのできる最大値
  • デフォルト値:リージョンサイズの 1/16。
  • 最小値: 0

region-compact-check-interval

  • RocksDB 圧縮を手動でトリガーする必要があるかどうかを確認する時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "5m"
  • 最小値: 0

region-compact-check-step

  • 手動圧縮の各ラウンドで一度にチェックされるリージョンの数
  • デフォルト値: 100
  • 最小値: 0

region-compact-min-tombstones

  • RocksDB 圧縮をトリガーするために必要なトゥームストーンの数
  • デフォルト値: 10000
  • 最小値: 0

region-compact-tombstones-percent

  • RocksDB 圧縮をトリガーするために必要なトゥームストーンの割合
  • デフォルト値: 30
  • 最小値: 1
  • 最大値: 100

pd-heartbeat-tick-interval

  • PD へのリージョンのハートビートがトリガーされる時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "1m"
  • 最小値: 0

pd-store-heartbeat-tick-interval

  • PD へのストアのハートビートがトリガーされる時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "10s"
  • 最小値: 0

snap-mgr-gc-tick-interval

  • 期限切れのスナップショット ファイルのリサイクルがトリガーされる時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "1m"
  • 最小値: 0

snap-gc-timeout

  • スナップショット ファイルが保存される最長時間
  • デフォルト値: "4h"
  • 最小値: 0

snap-generator-pool-size v5.4.0 の新機能

  • snap-generatorスレッド プールのサイズを構成します。
  • リカバリ シナリオでリージョンが TiKV でより高速にスナップショットを生成するには、対応するワーカーのsnap-generatorスレッドの数を増やす必要があります。この構成項目を使用して、 snap-generatorスレッド プールのサイズを増やすことができます。
  • デフォルト値: 2
  • 最小値: 1

lock-cf-compact-interval

  • TiKV が Lock カラム Family の手動圧縮をトリガーする時間間隔
  • デフォルト値: "10m"
  • 最小値: 0

lock-cf-compact-bytes-threshold

  • TiKV がロックカラムファミリーの手動圧縮をトリガーするサイズ
  • デフォルト値: "256MB"
  • 最小値: 0
  • 単位:MB

notify-capacity

  • リージョンメッセージ キューの最長の長さ。
  • デフォルト値: 40960
  • 最小値: 0

messages-per-tick

  • バッチごとに処理されるメッセージの最大数
  • デフォルト値: 4096
  • 最小値: 0

max-peer-down-duration

  • ピアに許可される最長の非アクティブ期間。タイムアウトのあるピアはdownとしてマークされ、PD は後でそれを削除しようとします。
  • デフォルト値: "10m"
  • 最小値: Hibernate リージョンが有効な場合、最小値はpeer-stale-state-check-interval * 2です。 Hibernate リージョンが無効になっている場合、最小値は0です。

max-leader-missing-duration

  • Raftグループがリーダーを欠いている状態にピアが留まることができる最長期間。この値を超えると、ピアはピアが削除されたかどうかを PD で確認します。
  • デフォルト値: "2h"
  • 最小値: abnormal-leader-missing-durationより大きい

abnormal-leader-missing-duration

  • Raftグループがリーダーを欠いている状態にピアが留まることができる最長期間。この値を超えると、ピアは異常と見なされ、メトリックとログでマークされます。
  • デフォルト値: "10m"
  • 最小値: peer-stale-state-check-intervalより大きい

peer-stale-state-check-interval

  • ピアがRaftグループにリーダーがない状態にあるかどうかのチェックをトリガーする時間間隔。
  • デフォルト値: "5m"
  • 最小値: 2 * election-timeoutより大きい

leader-transfer-max-log-lag

  • Raftリーダー転送中に転送先に許可される欠落ログの最大数
  • デフォルト値: 128
  • 最小値: 10

snap-apply-batch-size

  • インポートされたスナップショット ファイルがディスクに書き込まれるときに必要なメモリキャッシュ サイズ
  • デフォルト値: "10MB"
  • 最小値: 0
  • 単位:MB

consistency-check-interval

  • 整合性チェックがトリガーされる時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "0s"
  • 最小値: 0

raft-store-max-leader-lease

  • Raftリーダーの最長信頼期間
  • デフォルト値: "9s"
  • 最小値: 0

right-derive-when-split

  • リージョンが分割されたときに、新しいリージョンの開始キーを指定します。この構成項目がtrueに設定されている場合、開始キーは最大分割キーです。この構成項目がfalseに設定されている場合、開始キーは元のリージョンの開始キーです。
  • デフォルト値: true

merge-max-log-gap

  • mergeを実行したときに許容される欠落ログの最大数
  • デフォルト値: 10
  • 最小値: raft-log-gc-count-limitより大きい

merge-check-tick-interval

  • リージョンのマージが必要かどうかを TiKV がチェックする時間間隔
  • デフォルト値: "2s"
  • 最小値: 0より大きい

use-delete-range

  • rocksdb delete_rangeインターフェイスからデータを削除するかどうかを決定します
  • デフォルト値: false

cleanup-import-sst-interval

  • 期限切れの SST ファイルがチェックされる時間間隔。 0 、この機能が無効であることを意味します。
  • デフォルト値: "10m"
  • 最小値: 0

local-read-batch-size

  • 1 回のバッチで処理される読み取り要求の最大数
  • デフォルト値: 1024
  • 最小値: 0より大きい

apply-max-batch-size

  • 1 回のバッチでのデータ フラッシュの最大要求数
  • デフォルト値: 256
  • 最小値: 0より大きい

apply-pool-size

store-max-batch-size

  • 1 回のバッチで処理されるリクエストの最大数
  • hibernate-regionsが有効な場合、デフォルト値は256です。 hibernate-regionsが無効になっている場合、デフォルト値は1024です。
  • 最小値: 0より大きい

store-pool-size

store-io-pool-size v5.3.0 の新機能

future-poll-size

  • futureを駆動するスレッドの許容数
  • デフォルト値: 1
  • 最小値: 0より大きい

cmd-batch

  • リクエストのバッチ処理を有効にするかどうかを制御します。有効にすると、書き込みパフォーマンスが大幅に向上します。
  • デフォルト値: true

inspect-interval

  • 一定の間隔で、TiKV は Raftstoreコンポーネントのレイテンシーを検査します。このパラメーターは、検査の間隔を指定します。レイテンシーがこの値を超えると、この検査はタイムアウトとしてマークされます。
  • タイムアウト検査の割合からTiKVノードが遅いかどうかを判断します。
  • デフォルト値: "500ms"
  • 最小値: "1ms"

raft-write-size-limit v5.3.0 の新機能

  • Raftデータがディスクに書き込まれるしきい値を決定します。データサイズがこの構成項目の値より大きい場合、データはディスクに書き込まれます。 store-io-pool-sizeの値が0の場合、この構成アイテムは有効になりません。
  • デフォルト値: 1MB
  • 最小値: 0

コプロセッサー

コプロセッサーに関連するコンフィグレーション項目。

split-region-on-table

  • リージョン をテーブルごとに分割するかどうかを決定します。この機能は TiDB モードでのみ使用することをお勧めします。
  • デフォルト値: false

batch-split-limit

  • バッチでのリージョン分割のしきい値。この値を大きくすると、リージョン分割が高速になります。
  • デフォルト値: 10
  • 最小値: 1

region-max-size

  • リージョンの最大サイズ。値を超えると、リージョンが多数に分割されます。
  • デフォルト値: "144MB"
  • 単位: KB|MB|GB

region-split-size

  • 新しく分割されたリージョンのサイズ。この値は推定値です。
  • デフォルト値: "96MB"
  • 単位: KB|MB|GB

region-max-keys

  • リージョンで許可されるキーの最大数。この値を超えると、リージョンが多数に分割されます。
  • デフォルト値: 1440000

region-split-keys

  • 新しく分割されたリージョン内のキーの数。この値は推定値です。
  • デフォルト値: 960000

rocksdb

RocksDBに関するコンフィグレーション項目

max-background-jobs

max-background-flushes

  • 同時バックグラウンド memtable フラッシュ ジョブの最大数
  • デフォルト値: 2
  • 最小値: 1

max-sub-compactions

  • RocksDB で同時に実行されるサブ圧縮操作の数
  • デフォルト値: 3
  • 最小値: 1

max-open-files

  • RocksDB が開くことができるファイルの総数
  • デフォルト値: 40960
  • 最小値: -1

max-manifest-file-size

  • RocksDB マニフェスト ファイルの最大サイズ
  • デフォルト値: "128MB"
  • 最小値: 0
  • 単位:B|KB|MB|GB

create-if-missing

  • DB スイッチを自動的に作成するかどうかを決定します
  • デフォルト値: true

wal-recovery-mode

  • WAL回復モード
  • オプションの値:
    • "tolerate-corrupted-tail-records" : すべてのログで不完全な末尾データを持つレコードを許容して破棄します
    • "absolute-consistency" : 破損したログが見つかった場合、リカバリを中止します
    • "point-in-time" : 最初の破損したログが検出されるまで、ログを順次回復します。
    • "skip-any-corrupted-records" : 災害後の復旧。データは可能な限り回復され、破損したレコードはスキップされます。
  • デフォルト値: "point-in-time"

wal-dir

  • WALファイルが保存されているディレクトリ
  • デフォルト値: "/tmp/tikv/store"

wal-ttl-seconds

  • アーカイブされた WAL ファイルの存続時間。この値を超えると、システムはこれらのファイルを削除します。
  • デフォルト値: 0
  • 最小値: 0
  • 単位:秒

wal-size-limit

  • アーカイブされた WAL ファイルのサイズ制限。この値を超えると、システムはこれらのファイルを削除します。
  • デフォルト値: 0
  • 最小値: 0
  • 単位:B|KB|MB|GB

enable-statistics

  • RocksDB の統計を有効にするかどうかを決定します
  • デフォルト値: true

stats-dump-period

  • 統計がログに出力される間隔。
  • デフォルト値: 10m

compaction-readahead-size

  • RocksDB の圧縮中に先読み機能を有効にし、先読みデータのサイズを指定します。メカニカル ディスクを使用している場合は、値を少なくとも 2MB に設定することをお勧めします。
  • デフォルト値: 0
  • 最小値: 0
  • 単位:B|KB|MB|GB

writable-file-max-buffer-size

  • WritableFileWrite で使用される最大バッファ サイズ
  • デフォルト値: "1MB"
  • 最小値: 0
  • 単位:B|KB|MB|GB

use-direct-io-for-flush-and-compaction

  • バックグラウンド フラッシュと圧縮で読み取りと書き込みの両方にO_DIRECTを使用するかどうかを決定します。このオプションのパフォーマンスへの影響: O_DIRECTバイパスを有効にして OS バッファー キャッシュの汚染を防ぎますが、その後のファイル読み取りではバッファー キャッシュの内容を再度読み取る必要があります。
  • デフォルト値: false

rate-bytes-per-sec

  • RocksDB のコンパクション レート リミッタで許可される最大レート
  • デフォルト値: 10GB
  • 最小値: 0
  • 単位:B|KB|MB|GB

rate-limiter-mode

  • RocksDB のコンパクション レート リミッター モード
  • オプションの値: "read-only""write-only""all-io"
  • デフォルト値: "write-only"

v5.0 の新rate-limiter-auto-tuned

  • 最近のワークロードに基づいて、RocksDB の圧縮レート リミッターの構成を自動的に最適化するかどうかを決定します。この構成が有効になっている場合、圧縮保留中のバイトは通常よりわずかに高くなります。
  • デフォルト値: true

enable-pipelined-write

  • パイプライン書き込みを有効または無効にします
  • デフォルト値: true

bytes-per-sync

  • これらのファイルが非同期的に書き込まれている間に、OS がファイルをディスクに増分的に同期する速度
  • デフォルト値: "1MB"
  • 最小値: 0
  • 単位:B|KB|MB|GB

wal-bytes-per-sync

  • WALファイルの書き込み中に、OSがWALファイルをディスクに段階的に同期する速度
  • デフォルト値: "512KB"
  • 最小値: 0
  • 単位:B|KB|MB|GB

info-log-max-size

  • 情報ログの最大サイズ
  • デフォルト値: "1GB"
  • 最小値: 0
  • 単位:B|KB|MB|GB

info-log-roll-time

  • 情報ログが切り捨てられる時間間隔。値が0sの場合、ログは切り捨てられません。
  • デフォルト値: "0s"

info-log-keep-log-file-num

  • 保持されるログ ファイルの最大数
  • デフォルト値: 10
  • 最小値: 0

info-log-dir

  • ログが保存されるディレクトリ
  • デフォルト値: ""

rocksdb.titan

Titan関連のコンフィグレーション項目。

enabled

  • タイタンを有効または無効にします
  • デフォルト値: false

dirname

  • Titan Blob ファイルが保存されているディレクトリ
  • デフォルト値: "titandb"

disable-gc

  • Titan が BLOB ファイルに対して実行するガベージ コレクション (GC) を無効にするかどうかを決定します。
  • デフォルト値: false

max-background-gc

  • Titan の GC スレッドの最大数
  • デフォルト値: 4
  • 最小値: 1

rocksdb.defaultcf | rocksdb.writecf | rocksdb.lockcf

rocksdb.defaultcf rocksdb.writecf関連するコンフィグレーション項目rocksdb.lockcf

block-size

  • RocksDB ブロックのデフォルト サイズ
  • defaultcfおよびwritecfのデフォルト値: "64KB"
  • lockcfのデフォルト値: "16KB"
  • 最小値: "1KB"
  • 単位: KB|MB|GB

block-cache-size

  • RocksDB ブロックのキャッシュ サイズ
  • defaultcfのデフォルト値: Total machine memory * 25%
  • writecfのデフォルト値: Total machine memory * 15%
  • lockcfのデフォルト値: Total machine memory * 2%
  • 最小値: 0
  • 単位: KB|MB|GB

disable-block-cache

  • ブロックキャッシュを有効または無効にします
  • デフォルト値: false

cache-index-and-filter-blocks

  • インデックスとフィルタのキャッシングを有効または無効にします
  • デフォルト値: true

pin-l0-filter-and-index-blocks

  • レベル 0 の SST ファイルのインデックス ブロックとフィルター ブロックをメモリに固定するかどうかを決定します。
  • デフォルト値: true

use-bloom-filter

  • ブルームフィルターを有効または無効にします
  • デフォルト値: true

optimize-filters-for-hits

  • フィルターのヒット率を最適化するかどうかを決定します
  • defaultcfのデフォルト値: true
  • writecfおよびlockcfのデフォルト値: false

whole-key-filtering

  • キー全体をブルームフィルターに入れるかどうかを決定します
  • defaultcfおよびlockcfのデフォルト値: true
  • writecfのデフォルト値: false

bloom-filter-bits-per-key

  • ブルームフィルターが各キーに予約する長さ
  • デフォルト値: 10
  • 単位:バイト

block-based-bloom-filter

  • 各ブロックがブルームフィルターを作成するかどうかを決定します
  • デフォルト値: false

read-amp-bytes-per-bit

  • 読み取り増幅の統計を有効または無効にします。
  • オプションの値: 0 (無効)、> 0 (有効)。
  • デフォルト値: 0
  • 最小値: 0

compression-per-level

  • 各レベルのデフォルトの圧縮アルゴリズム
  • defaultcfのデフォルト値: ["no", "no", "lz4", "lz4", "lz4", "zstd", "zstd"]
  • writecfのデフォルト値: ["no", "no", "lz4", "lz4", "lz4", "zstd", "zstd"]
  • lockcfのデフォルト値: ["no", "no", "no", "no", "no", "no", "no"]

bottommost-level-compression

  • 最レイヤーの圧縮アルゴリズムを設定します。この構成項目はcompression-per-levelの設定をオーバーライドします。
  • データが LSM ツリーに書き込まれて以来、RocksDB は最レイヤーのcompression-per-level配列で指定された最後の圧縮アルゴリズムを直接採用しません。 bottommost-level-compression場合、最初から最レイヤーで最も圧縮効果の高い圧縮アルゴリズムを使用できます。
  • 最レイヤーの圧縮アルゴリズムを設定しない場合は、この構成項目の値をdisableに設定します。
  • デフォルト値: "zstd"

write-buffer-size

  • メモリブルサイズ
  • defaultcfおよびwritecfのデフォルト値: "128MB"
  • lockcfのデフォルト値: "32MB"
  • 最小値: 0
  • 単位: KB|MB|GB

max-write-buffer-number

  • memtable の最大数。 storage.flow-control.enabletrueに設定されている場合、 storage.flow-control.memtables-thresholdこの構成項目をオーバーライドします。
  • デフォルト値: 5
  • 最小値: 0

min-write-buffer-number-to-merge

  • フラッシュをトリガーするために必要な memtable の最小数
  • デフォルト値: 1
  • 最小値: 0

max-bytes-for-level-base

  • ベース レベル (L1) での最大バイト数。通常、memtable の 4 倍のサイズに設定されます。
  • defaultcfおよびwritecfのデフォルト値: "512MB"
  • lockcfのデフォルト値: "128MB"
  • 最小値: 0
  • 単位: KB|MB|GB

target-file-size-base

  • ベース レベルでのターゲット ファイルのサイズ。 enable-compaction-guard値がtrueの場合、この値はcompaction-guard-max-output-file-sizeでオーバーライドされます。
  • デフォルト値: "8MB"
  • 最小値: 0
  • 単位: KB|MB|GB

level0-file-num-compaction-trigger

  • 圧縮をトリガーする L0 のファイルの最大数
  • defaultcfおよびwritecfのデフォルト値: 4
  • lockcfのデフォルト値: 1
  • 最小値: 0

level0-slowdown-writes-trigger

  • 書き込みストールをトリガーする L0 のファイルの最大数。 storage.flow-control.enabletrueに設定されている場合、 storage.flow-control.l0-files-thresholdこの構成項目をオーバーライドします。
  • デフォルト値: 20
  • 最小値: 0

level0-stop-writes-trigger

  • 書き込みを完全にブロックするために必要な L0 のファイルの最大数
  • デフォルト値: 36
  • 最小値: 0

max-compaction-bytes

  • 圧縮ごとにディスクに書き込まれる最大バイト数
  • デフォルト値: "2GB"
  • 最小値: 0
  • 単位: KB|MB|GB

compaction-pri

  • 圧縮の優先タイプ
  • オプションの値:
    • "by-compensated-size" : ファイル サイズの順に圧縮し、大きなファイルは優先的に圧縮します。
    • "oldest-largest-seq-first" : 更新時刻が最も古いファイルの圧縮を優先します。この値は、狭い範囲でホット キーを更新する場合にのみ使用してください。
    • "oldest-smallest-seq-first" : 次のレベルに長期間圧縮されていない範囲を持つファイルの圧縮を優先します。キー スペース全体でホット キーをランダムに更新する場合、この値によって書き込み増幅がわずかに減少する可能性があります。
    • "min-overlapping-ratio" : オーバーラップ率の高いファイルの圧縮を優先します。ファイルがさまざまなレベルで小さい場合 ( the file size in the next level ÷ the file size in this levelの結果が小さい場合)、TiKV はこのファイルを最初に圧縮します。多くの場合、この値は効果的に書き込み増幅を減らすことができます。
  • defaultcfおよびwritecfのデフォルト値: "min-overlapping-ratio"
  • lockcfのデフォルト値: "by-compensated-size"

dynamic-level-bytes

  • 動的レベルのバイトを最適化するかどうかを決定します
  • デフォルト値: true

num-levels

  • RocksDB ファイルの最大レベル数
  • デフォルト値: 7

max-bytes-for-level-multiplier

  • 各レイヤーのデフォルトの増幅倍数
  • デフォルト値: 10

compaction-style

  • 圧縮方法
  • オプションの値: "level""universal""fifo"
  • デフォルト値: "level"

disable-auto-compactions

  • 自動圧縮を無効にするかどうかを決定します。
  • デフォルト値: false

soft-pending-compaction-bytes-limit

  • 保留中の圧縮バイトのソフト制限。 storage.flow-control.enabletrueに設定されている場合、 storage.flow-control.soft-pending-compaction-bytes-limitこの構成項目をオーバーライドします。
  • デフォルト値: "192GB"
  • 単位: KB|MB|GB

hard-pending-compaction-bytes-limit

  • 保留中の圧縮バイトのハード制限。 storage.flow-control.enabletrueに設定されている場合、 storage.flow-control.hard-pending-compaction-bytes-limitこの構成項目をオーバーライドします。
  • デフォルト値: "256GB"
  • 単位: KB|MB|GB

enable-compaction-guard

  • TiKVリージョンの境界で SST ファイルを分割するための最適化である圧縮ガードを有効または無効にします。この最適化は、圧縮 I/O を削減するのに役立ち、TiKV がより大きな SST ファイル サイズを使用できるようになり (したがって、SST ファイル全体が少なくなります)、同時にリージョンの移行時に古いデータを効率的にクリーンアップできます。
  • defaultcfおよびwritecfのデフォルト値: true
  • lockcfのデフォルト値: false

compaction-guard-min-output-file-size

  • コンパクション ガードが有効な場合の SST ファイルの最小サイズ。この構成により、圧縮ガードが有効になっている場合に SST ファイルが小さすぎるのを防ぐことができます。
  • デフォルト値: "8MB"
  • 単位: KB|MB|GB

compaction-guard-max-output-file-size

  • コンパクション ガードが有効な場合の SST ファイルの最大サイズ。この構成により、圧縮ガードが有効になっている場合に SST ファイルが大きくなりすぎるのを防ぐことができます。この構成は、同じカラムファミリーのtarget-file-size-baseをオーバーライドします。
  • デフォルト値: "128MB"
  • 単位: KB|MB|GB

rocksdb.defaultcf.titan

関連するコンフィグレーション項目rocksdb.defaultcf.titan

min-blob-size

  • Blob ファイルに格納されている最小値。指定されたサイズより小さい値は LSM-Tree に格納されます。
  • デフォルト値: "1KB"
  • 最小値: 0
  • 単位: KB|MB|GB

blob-file-compression

  • Blob ファイルで使用される圧縮アルゴリズム
  • オプションの値: "no""snappy""zlib""bzip2""lz4""lz4hc""zstd"
  • デフォルト値: "lz4"

blob-cache-size

  • Blob ファイルのキャッシュ サイズ
  • デフォルト値: "0GB"
  • 最小値: 0
  • 単位: KB|MB|GB

min-gc-batch-size

  • GC を 1 回実行するために必要な Blob ファイルの最小合計サイズ
  • デフォルト値: "16MB"
  • 最小値: 0
  • 単位: KB|MB|GB

max-gc-batch-size

  • 一度に GC を実行できる Blob ファイルの最大合計サイズ
  • デフォルト値: "64MB"
  • 最小値: 0
  • 単位: KB|MB|GB

discardable-ratio

  • Blob ファイルに対して GC がトリガーされる比率。 Blob ファイル内の無効な値の比率がこの比率を超える場合にのみ、GC 用に Blob ファイルを選択できます。
  • デフォルト値: 0.5
  • 最小値: 0
  • 最大値: 1

sample-ratio

  • GC 中にファイルをサンプリングしたときの (Blob ファイルから読み取られたデータ/Blob ファイル全体) の比率
  • デフォルト値: 0.1
  • 最小値: 0
  • 最大値: 1

merge-small-file-threshold

  • Blob ファイルのサイズがこの値よりも小さい場合でも、Blob ファイルが GC 用に選択されることがあります。この場合、 discardable-ratioは無視されます。
  • デフォルト値: "8MB"
  • 最小値: 0
  • 単位: KB|MB|GB

blob-run-mode

  • Titan の実行モードを指定します。
  • オプションの値:
    • normal : 値のサイズがmin-blob-sizeを超えると、データを BLOB ファイルに書き込みます。
    • read_only : BLOB ファイルへの新しいデータの書き込みを拒否しますが、BLOB ファイルから元のデータを読み取ります。
    • fallback : blob ファイルのデータを LSM に書き戻します。
  • デフォルト値: normal

level-merge

  • 読み取りパフォーマンスを最適化するかどうかを決定します。 level-mergeが有効な場合、より多くの書き込み増幅があります。
  • デフォルト値: false

gc-merge-rewrite

  • マージ オペレーターを使用して、Titan GC の BLOB インデックスを書き戻すかどうかを決定します。 gc-merge-rewriteを有効にすると、フォアグラウンドでの書き込みに対する Titan GC の影響が軽減されます。
  • デフォルト値: false

raftdb

raftdbに関するコンフィグレーション項目

max-background-jobs

max-sub-compactions

  • RocksDB で実行される同時サブ圧縮操作の数
  • デフォルト値: 2
  • 最小値: 1

wal-dir

  • WALファイルが保存されているディレクトリ
  • デフォルト値: "/tmp/tikv/store"

いかだエンジン

Raft Engineに関連するコンフィグレーション項目。

enable

  • Raft Engineを使用してRaftログを保存するかどうかを決定します。有効にすると、 raftdbの構成は無視されます。
  • デフォルト値: false

dir

  • raft ログ ファイルが保存されるディレクトリ。ディレクトリが存在しない場合は、TiKV の起動時に作成されます。
  • この構成が設定されていない場合は、 {data-dir}/raft-engineが使用されます。
  • マシンに複数のディスクがある場合、 Raft Engineのデータを別のディスクに保存して、TiKV のパフォーマンスを向上させることをお勧めします。
  • デフォルト値: ""

batch-compression-threshold

  • ログ バッチのしきい値サイズを指定します。この構成より大きいログ バッチは圧縮されます。この構成項目を0に設定すると、圧縮は無効になります。
  • デフォルト値: "8KB"

bytes-per-sync

  • バッファリングされた書き込みの最大累積サイズを指定します。この設定値を超えると、バッファリングされた書き込みがディスクにフラッシュされます。
  • この構成項目を0に設定すると、増分同期が無効になります。
  • デフォルト値: "4MB"

target-file-size

  • ログ ファイルの最大サイズを指定します。ログ ファイルがこの値より大きい場合、ローテーションされます。
  • デフォルト値: "128MB"

purge-threshold

  • メイン ログ キューのしきい値サイズを指定します。この設定値を超えると、メイン ログ キューが消去されます。
  • この構成は、 Raft Engineのディスク容量の使用を調整するために使用できます。
  • デフォルト値: "10GB"

recovery-mode

  • リカバリ中のファイルの破損に対処する方法を決定します。
  • 値のオプション: "absolute-consistency""tolerate-tail-corruption""tolerate-any-corruption"
  • デフォルト値: "tolerate-tail-corruption"

recovery-read-block-size

  • リカバリ中にログ ファイルを読み取るための最小 I/O サイズ。
  • デフォルト値: "16KB"
  • 最小値: "512B"

recovery-threads

  • ログ ファイルのスキャンと回復に使用されるスレッドの数。
  • デフォルト値: 4
  • 最小値: 1

安全

セキュリティに関するコンフィグレーション項目です。

ca-path

  • CA ファイルのパス
  • デフォルト値: ""

cert-path

  • X.509 証明書を含む Privacy Enhanced Mail (PEM) ファイルのパス
  • デフォルト値: ""

key-path

  • X.509 キーを含む PEM ファイルのパス
  • デフォルト値: ""

cert-allowed-cn

  • クライアントによって提示された証明書で受け入れ可能な X.509 共通名のリスト。要求は、提示された共通名がリスト内のエントリの 1 つと完全に一致する場合にのみ許可されます。
  • デフォルト値: [] 。これは、クライアント証明書の CN チェックがデフォルトで無効になっていることを意味します。

redact-info-log v4.0.8 の新機能

  • この構成項目は、ログのリダクションを有効または無効にします。構成値がtrueに設定されている場合、ログ内のすべてのユーザー データは?に置き換えられます。
  • デフォルト値: false

セキュリティ暗号化

保存時の暗号化 (TDE)に関するコンフィグレーション項目です。

data-encryption-method

  • データファイルの暗号化方式
  • 値のオプション: "plaintext""aes128-ctr""aes192-ctr"、および "aes256-ctr"
  • "plaintext" 以外の値は、暗号化が有効であることを意味します。この場合、マスター キーを指定する必要があります。
  • デフォルト値: "plaintext"

data-key-rotation-period

  • TiKV がデータ暗号化キーをローテーションする頻度を指定します。
  • デフォルト値: 7d

enable-file-dictionary-log

  • TiKV が暗号化メタデータを管理するときに、I/O とミューテックスの競合を減らすための最適化を有効にします。
  • この構成パラメーターが (デフォルトで) 有効になっている場合に起こりうる互換性の問題を回避するには、詳細について保存時の暗号化- TiKV バージョン間の互換性を参照してください。
  • デフォルト値: true

マスターキー

以前のマスターキー

  • 新しいマスター キーをローテーションするときに、古いマスター キーを指定します。設定フォーマットはmaster-keyと同じです。マスター キーの構成方法については、 保存時の暗号化- 暗号化の構成を参照してください。

輸入

TiDB Lightning のインポートとBRの復元に関するコンフィグレーション項目です。

num-threads

  • RPC リクエストを処理するスレッドの数
  • デフォルト値: 8
  • 最小値: 1

GC

enable-compaction-filter v5.0 の新機能

  • コンパクション フィルタ機能で GC を有効にするかどうかを制御します
  • デフォルト値: true

バックアップ

BRバックアップに関するコンフィグレーション項目です。

num-threads

  • バックアップを処理するワーカー スレッドの数
  • デフォルト値: MIN(CPU * 0.5, 8)
  • 最小値: 1

enable-auto-tune v5.4.0 の新機能

  • クラスタ リソースの使用率が高い場合に、バックアップ タスクで使用されるリソースを制限してクラスタへの影響を軽減するかどうかを制御します。詳細については、 BRオートチューンを参照してください。
  • デフォルト値: true

s3-multi-part-size v5.3.2 の新機能

ノート:

この構成は、S3 レート制限によって引き起こされるバックアップの失敗に対処するために導入されました。この問題はバックアップ データ ストレージ構造の改良で修正されました。したがって、この構成は v6.1.1 から廃止され、推奨されなくなりました。

  • バックアップ中に S3 へのマルチパート アップロードを実行するときに使用されるパート サイズ。この設定の値を調整して、S3 に送信されるリクエストの数を制御できます。
  • データが S3 にバックアップされ、バックアップ ファイルがこの構成項目の値よりも大きい場合、 マルチパートアップロードが自動的に有効になります。圧縮率に基づくと、96 MiBリージョンによって生成されるバックアップ ファイルは、約 10 MiB から 30 MiB です。
  • デフォルト値: 5MiB

CDC

TiCDC に関連するコンフィグレーション項目。

min-ts-interval

  • Resolved TS が計算されて転送される間隔。
  • デフォルト値: "1s"

old-value-cache-memory-quota

  • TiCDC の古い値によるメモリ使用量の上限。
  • デフォルト値: 512MB

sink-memory-quota

  • TiCDC データ変更イベントによるメモリ使用量の上限。
  • デフォルト値: 512MB

incremental-scan-speed-limit

  • 履歴データがインクリメンタル スキャンされる最大速度。
  • デフォルト値: "128MB" 。これは、1 秒あたり 128 MB を意味します。

incremental-scan-threads

  • 履歴データを増分スキャンするタスクのスレッド数。
  • デフォルト値: 4 。これは 4 つのスレッドを意味します。

incremental-scan-concurrency

  • 履歴データを増分スキャンするタスクの同時実行の最大数。
  • デフォルト値: 6 。これは、最大で 6 つのタスクを同時に実行できることを意味します。
  • 注: incremental-scan-concurrencyの値はincremental-scan-threadsの値以上である必要があります。そうしないと、TiKV は起動時にエラーを報告します。

解決済み-TS

ステイル読み取り要求を処理するための解決済み TS の維持に関連するコンフィグレーション項目。

enable

  • すべての地域の解決済み TS を維持するかどうかを決定します。
  • デフォルト値: true

advance-ts-interval

  • Resolved TS が計算されて転送される間隔。
  • デフォルト値: "1s"

scan-lock-pool-size

  • 解決済み TS を初期化するときに、TiKV が MVCC (マルチバージョン同時実行制御) ロック データをスキャンするために使用するスレッドの数。
  • デフォルト値: 2 。これは 2 つのスレッドを意味します。

悲観的-txn

悲観的トランザクションの使用法については、 TiDB ペシミスティックトランザクションモードを参照してください。

wait-for-lock-timeout

  • TiKV の悲観的トランザクションが、他のトランザクションがロックを解放するまで待機する最長時間。タイムアウトになると、TiDB にエラーが返され、TiDB はロックの追加を再試行します。ロック待機タイムアウトはinnodb_lock_wait_timeoutで設定されます。
  • デフォルト値: "1s"
  • 最小値: "1ms"

wake-up-delay-duration

  • 悲観的トランザクションがロックを解放すると、ロックを待っているすべてのトランザクションのうち、最小のstart_tsのトランザクションのみが起こされます。他のトランザクションはwake-up-delay-duration後に起こされます。
  • デフォルト値: "20ms"

pipelined

  • この構成アイテムは、悲観的ロックを追加するパイプライン プロセスを有効にします。この機能を有効にすると、データをロックできることを検出した後、TiKV は直ちに TiDB に通知して後続のリクエストを実行し、悲観的ロックを非同期で書き込みます。これにより、ほとんどのレイテンシーが短縮され、悲観的トランザクションのパフォーマンスが大幅に向上します。しかし、悲観的ロックの非同期書き込みが失敗する可能性はまだ低く、悲観的トランザクション コミットの失敗を引き起こす可能性があります。
  • デフォルト値: true