重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

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

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-log-fileで設定されたログファイルに出力されます。
  • デフォルト値: ""

slow-log-threshold

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

ログv5.4.0の新機能

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

  • v5.4.0以降、 log-rotation-sizeとTiDBのログ構成項目の一貫性を保つために、 log-fileは以前の構成項目log-rotation-timespanを廃止し、 log-levelを次の構成項目に変更しlog-format 。古い構成アイテムのみを設定し、それらの値がデフォルト以外の値に設定されている場合、古いアイテムは新しいアイテムとの互換性を維持します。古い構成アイテムと新しい構成アイテムの両方が設定されている場合、新しいアイテムが有効になります。

level v5.4.0の新機能

  • ログレベル
  • "error" "fatal" "warn" "debug" "info"
  • デフォルト値: "info"

format v5.4.0の新機能

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

enable-timestampの新機能

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

log.filev5.4.0の新機能

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

filename v5.4.0の新機能

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

max-size sizev5.4.0の新機能

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

max-days daysv5.4.0の新機能

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

max-backups backupsv5.4.0の新機能

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

サーバ

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

status-thread-pool-size

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

grpc-compression-type

  • gRPCメッセージの圧縮アルゴリズム
  • オプション"deflate" "gzip" "none"
  • デフォルト値: "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

readpool.unified

読み取り要求を処理するシングルスレッドプールに関連するConfiguration / コンフィグレーションアイテム。このスレッドプールは、4.0バージョン以降、元のストレージスレッドプールおよびコプロセッサースレッドプールに取って代わります。

min-thread-count

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

max-thread-count

  • 統合読み取りプールまたはUnifyReadPoolスレッドプールの最大作業スレッド数。このスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
  • 値の範囲: [min-thread-count, MAX(4, CPU)]MAX(4, CPU)では、 CPUはCPUコアの数を意味します。 MAX(4, CPU)は、 4CPUから大きい方の値を取ります。
  • デフォルト値:MAX(4、CPU * 0.8)

stack-size

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

max-tasks-per-worker

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

readpool.storage

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

use-unified-pool

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

high-concurrency

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

normal-concurrency

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

low-concurrency

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

max-tasks-per-worker-high

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

max-tasks-per-worker-normal

  • 通常の優先順位のスレッドプールで単一のスレッドに許可されるタスクの最大数。値を超えるとServer Is Busyが返されます。
  • デフォルト値: 2000
  • 最小値: 2

max-tasks-per-worker-low

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

stack-size

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

readpool.coprocessor

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

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

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

max-tasks-per-worker-low

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

stack-size

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

保管所

ストレージに関連するConfiguration / コンフィグレーションアイテム。

scheduler-concurrency

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

scheduler-worker-pool-size

  • スケジューラスレッドプール内のスレッドの数。スケジューラスレッドは主に、データを書き込む前にトランザクションの整合性をチェックするために使用されます。 CPUコアの数が16以上の場合、デフォルト値は8です。それ以外の場合、デフォルト値は4です。スケジューラスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
  • デフォルト値: 4
  • 値の範囲: [1, MAX(4, CPU)]MAX(4, CPU)では、 CPUはCPUコアの数を意味します。 MAX(4, CPU)は、 4CPUから大きい方の値を取ります。

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

警告
  • 新しいTiKVクラスタをデプロイする場合にのみenable-ttltrueまたはfalseに設定します。既存のTiKVクラスタでこの構成アイテムの値を変更しないでください。 enable-ttl個の値が異なるTiKVクラスターは、異なるデータ形式を使用します。したがって、既存のTiKVクラスタでこのアイテムの値を変更すると、クラスタはさまざまな形式でデータを保存します。これにより、TiKVクラスタを再起動したときに「非ttlでTTLを有効にできません」というエラーが発生します。
  • TiKVクラスタでのみenable-ttlを使用します。 TiDBノードがあるクラスタではこの構成アイテムを使用しないでください(このようなクラスターではenable-ttlからtrueに設定することを意味します)。そうしないと、データの破損やTiDBクラスターのアップグレードの失敗などの重大な問題が発生します。
  • TTLは「Timetolive」の略です。この項目が有効になっている場合、TiKVはTTLに達したデータを自動的に削除します。 TTLの値を設定するには、クライアントを介してデータを書き込むときに、リクエストでTTLの値を指定する必要があります。 TTLが指定されていない場合は、TiKVが対応するデータを自動的に削除しないことを意味します。
  • デフォルト値: false

ttl-check-poll-interval

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

background-error-recovery-window windowv6.1.0の新機能

  • RocksDBが回復可能なバックグラウンドエラーを検出した後、TiKVが回復するための最大許容時間。一部のバックグラウンドSSTファイルが破損している場合、RocksDBは、破損したSSTファイルが属するピアを見つけた後、ハートビートを介してPDに報告します。次に、PDはスケジューリング操作を実行して、このピアを削除します。最後に、破損したSSTファイルが直接削除され、TiKVバックグラウンドが通常どおり機能します。
  • 破損したSSTファイルは、リカバリが完了する前にまだ存在しています。このような期間中、RocksDBはデータの書き込みを続行できますが、データの破損した部分が読み取られるとエラーが報告されます。
  • この時間枠内にリカバリが完了しない場合、TiKVはpanicになります。
  • デフォルト値:1時間

api-version versionv6.1.0の新機能

  • TiKVが生のKey-Valueストアとして機能するときにTiKVによって使用されるストレージ形式とインターフェイスバージョン。
  • 値のオプション:
    • 1 :API V1を使用し、クライアントから渡されたデータをエンコードせず、そのまま保存します。 v6.1.0より前のバージョンでは、TiKVはデフォルトでAPIV1を使用します。
    • 2 :API V2を使用します:
      • データはMVCC(Multi-Version Concurrency Control)形式で保存され、タイムスタンプはtikv-serverによってPD(TSO)から取得されます。
      • API V2を使用する場合は、同時にstorage.enable-ttl = trueを設定する必要があります。 API V2はTTL機能をサポートしているため、 enable-ttlを明示的にオンにする必要があります。それ以外の場合、 storage.enable-ttlはデフォルトでfalseになるため、競合します。
      • API V2が有効になっている場合、期限切れのデータを再利用するには、少なくとも1つのtidb-serverインスタンスをデプロイする必要があります。このtidb-serverインスタンスは、読み取りまたは書き込みサービスを提供できないことに注意してください。高可用性を確保するために、複数のtidb-serverインスタンスをデプロイできます。
      • APIV2にはクライアントサポートが必要です。詳細については、APIV2のクライアントの対応する命令を参照してください。
  • デフォルト値: 1
警告
  • TiKVAPIV2はまだ実験的機能です。実稼働環境での使用はお勧めしません。
  • 新しいTiKVクラスタをデプロイする場合にのみapi-versionから2の値を設定できます。既存のTiKVクラスタでこの構成アイテムの値を変更しないでくださいapi-versionの値が異なるTiKVクラスターは、異なるデータ形式を使用します。したがって、既存のTiKVクラスタでこのアイテムの値を変更すると、クラスタはさまざまな形式でデータを保存し、データの破損を引き起こします。 TiKVクラスタを起動すると、「storage.api_versionを切り替えることができません」というエラーが発生します。
  • API V2を有効にした後は、TiKVクラスタをv6.1.0より前のバージョンにダウングレードすることはできません。そうしないと、データが破損する可能性があります。

storage.block-cache

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

shared

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

capacity

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

storage.flow-control

TiKVのフロー制御メカニズムに関連するConfiguration / コンフィグレーション項目。このメカニズムは、RocksDBの書き込みストールメカニズムに置き換わるものであり、スケジューラーレイヤーでフローを制御します。これにより、RaftstoreスレッドまたはApplyスレッドのスタックによって引き起こされる二次的な災害が回避されます。

enable

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

memtables-threshold

  • kvDB memtableの数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。 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レートリミッターに関連するConfiguration / コンフィグレーション項目。

max-bytes-per-sec

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

mode

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

いかだ店

Raftstoreに関連するConfiguration / コンフィグレーションアイテム。

prevote

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

capacity

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

raftdb-path

  • Raftライブラリへのパス(デフォルトではstorage.data-dir/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ステートメントを介して照会することはできませんが、構成ファイルで構成することはできます。

  • 単一のメッセージパケットのサイズのソフト制限
  • デフォルト値: "1MB"
  • 最小値: 0より大きい
  • 最大値: 3GB
  • 単位:KB | MB | GB

raft-max-inflight-msgs

ノート:

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

  • 確認するRaftの数。この数を超えると、 Raftステートマシンはログの送信を遅くします。
  • デフォルト値: 256
  • 最小値: 0より大きい
  • 最大値: 16384

raft-entry-max-size

  • 単一ログの最大サイズのハード制限
  • デフォルト値: "8MB"
  • 最小値: 0
  • 単位:MB | GB

raft-log-compact-sync-intervalの新機能

  • 不要な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リージョンサイズに対応できるログ番号(ログごとに1MBとして計算)
  • 最小値: 0

raft-log-gc-size-limit

  • 残りのRaftの許容サイズの厳しい制限
  • デフォルト値:リージョンサイズの3/4
  • 最小値: 0より大きい

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

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

raft-entry-cache-life-time

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

hibernate-regions

  • リージョンを有効または無効にします。このオプションを有効にすると、長時間アイドル状態のリージョンが自動的に休止状態に設定されます。これにより、アイドル状態のリージョンの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 sizev5.4.0の新機能

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

lock-cf-compact-interval

  • TiKVがロックカラムファミリの手動圧縮をトリガーする時間間隔
  • デフォルト値: "256MB"
  • デフォルト値: "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

max-snapshot-file-raw-size sizev6.1.0の新機能

  • スナップショットファイルのサイズがこの構成値を超えると、このファイルは複数のファイルに分割されます。
  • デフォルト値: 100MiB
  • 最小値: 100MiB

snap-apply-batch-size

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

consistency-check-interval

警告

実稼働環境で整合性チェックを有効にすることはお勧めしません。これは、クラスタのパフォーマンスに影響を与え、TiDBのガベージコレクションと互換性がないためです。

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

raft-store-max-leader-lease

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

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

  • Raftステートマシンは、BatchSystemによってデータ書き込み要求をバッチで処理します。この構成項目は、1つのバッチで要求を処理できるRaftステートマシンの最大数を指定します。
  • デフォルト値: 256
  • 最小値: 0より大きい
  • 最大値: 10240

apply-pool-size

  • データをディスクにフラッシュするプール内のスレッドの許容数。これは、アプライスレッドプールのサイズです。このスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
  • デフォルト値: 2
  • 値の範囲: [1, CPU * 10]CPUはCPUコアの数を意味します。

store-max-batch-size

  • Raftステートマシンは、BatchSystemによってログをディスクにフラッシュする要求をバッチで処理します。この構成項目は、1つのバッチで要求を処理できるRaftステートマシンの最大数を指定します。
  • hibernate-regionsが有効になっている場合、デフォルト値は256です。 hibernate-regionsが無効になっている場合、デフォルト値は1024です。
  • 最小値: 0より大きい
  • 最大値: 10240

store-pool-size

  • Raftを処理するプール内のスレッドの許容数。これはRaftstoreスレッドプールのサイズです。このスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
  • デフォルト値: 2
  • 値の範囲: [1, CPU * 10]CPUはCPUコアの数を意味します。

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

future-poll-size

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

cmd-batch

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

inspect-interval

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

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

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

コプロセッサー

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

split-region-on-table

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

batch-split-limit

  • バッチで分割されたリージョンのしきい値。この値を増やすと、リージョン分割が高速化されます。
  • デフォルト値: 10
  • 最小値: 1

region-max-size

  • リージョンの最大サイズ。値を超えると、リージョンは多数に分割されます。
  • デフォルト値: region-split-size / 2 * 3
  • 単位:KiB | MiB | GiB

region-split-size

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

region-max-keys

  • リージョン内のキーの最大許容数。この値を超えると、リージョンは多数に分割されます。
  • デフォルト値: region-split-keys / 2 * 3

region-split-keys

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

enable-region-bucket bucketv6.1.0の新機能

  • リージョンをバケットと呼ばれる小さな範囲に分割するかどうかを決定します。バケットは、スキャンの同時実行性を向上させるための同時クエリの単位として使用されます。バケットの設計の詳細については、 動的サイズリージョンを参照してください。
  • デフォルト値:false
警告
  • enable-region-bucketは、TiDBv6.1.0で導入された実験的機能です。実稼働環境で使用することはお勧めしません。
  • この構成は、 region-split-sizeregion-bucket-sizeの2倍以上の場合にのみ意味があります。それ以外の場合、バケットは実際には生成されません。
  • region-split-sizeをより大きな値に調整すると、パフォーマンスが低下し、スケジューリングが遅くなるリスクがあります。

region-bucket-size sizev6.1.0の新機能

  • enable-region-bucketが真の場合のバケットのサイズ。
  • デフォルト値: 96MiB
警告

region-bucket-sizeは、TiDBv6.1.0で導入された実験的機能です。実稼働環境で使用することはお勧めしません。

report-region-buckets-tick-intervalの新機能

警告

report-region-buckets-tick-intervalは、TiDBv6.1.0で導入された実験的機能です。実稼働環境で使用することはお勧めしません。

  • enable-region-bucketが真の場合にTiKVがバケット情報をPDに報告する間隔。
  • デフォルト値: 10s

RocksDB

RocksDBに関連するConfiguration / コンフィグレーションアイテム

max-background-jobs

  • RocksDBのバックグラウンドスレッドの数。 RocksDBスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
  • デフォルト値:
    • CPUコアの数が10の場合、デフォルト値は9です。
    • CPUコアの数が8の場合、デフォルト値は7です。
    • CPUコアの数がNの場合、デフォルト値はmax(2, min(N - 1, 9))です。
  • 最小値: 2

max-background-flushes

  • 同時バックグラウンドメモリ可能フラッシュジョブの最大数
  • デフォルト値:
    • CPUコアの数が10の場合、デフォルト値は3です。
    • CPUコアの数が8の場合、デフォルト値は2です。
    • CPUコアの数がNの場合、デフォルト値は[(max-background-jobs + 3) / 4]です。
  • 最小値: 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の圧縮レートリミッターモード
  • オプション"write-only" "all-io" "read-only"
  • デフォルト値: "write-only"

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

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

enable-pipelined-write

  • パイプライン書き込みを有効にするかどうかを制御します。この構成を有効にすると、以前のパイプライン書き込みが使用されます。この構成を無効にすると、新しいパイプラインコミットメカニズムが使用されます。
  • デフォルト値: false

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

タイタンに関連するConfiguration / コンフィグレーション項目。

enabled

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

dirname

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

disable-gc

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

max-background-gc

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

rocksdb.defaultcf | rocksdb.writecf | rocksdb.lockcf

rocksdb.defaultcf 、およびrocksdb.writecfに関連するConfiguration / コンフィグレーションrocksdb.lockcf

block-size

  • RocksDBブロックのデフォルトサイズ
  • defaultcfwritecfのデフォルト値: "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
  • writecflockcfのデフォルト値: false

whole-key-filtering

  • キー全体をブルームフィルターに配置するかどうかを決定します
  • defaultcflockcfのデフォルト値: 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

  • 記憶可能なサイズ
  • defaultcfwritecfのデフォルト値: "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倍のサイズに設定されています。
  • defaultcfwritecfのデフォルト値: "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でのファイルの最大数
  • defaultcfwritecfのデフォルト値: 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

  • 圧縮の優先タイプ
  • "min-overlapping-ratio" "oldest-largest-seq-first" "oldest-smallest-seq-first" "by-compensated-size"
  • defaultcfwritecfのデフォルト値: "min-overlapping-ratio"
  • lockcfのデフォルト値: "by-compensated-size"

dynamic-level-bytes

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

num-levels

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

max-bytes-for-level-multiplier

  • 各層のデフォルトの増幅倍数
  • デフォルト値: 10

compaction-style

  • 締固め方法
  • オプション"universal" "fifo" "level"
  • デフォルト値: "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ファイルが少なくなります)、同時にリージョンの移行時に古いデータを効率的にクリーンアップします。
  • defaultcfwritecfのデフォルト値: 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に関連するConfiguration / コンフィグレーション項目。

min-blob-size

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

blob-file-compression

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

blob-cache-size

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

min-gc-batch-size

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

max-gc-batch-size

  • 1回のGC実行が許可されるBlobファイルの最大合計サイズ
  • デフォルト値: "64MB"
  • 最小値: 0
  • 単位:KB | MB | GB

discardable-ratio

  • Blobファイルに対してGCがトリガーされる比率。 Blobファイル内の無効な値の比率がこの比率を超えている場合にのみ、BlobファイルをGC用に選択できます。
  • デフォルト値: 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

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

raftdb

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

max-background-jobs

max-sub-compactions

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

wal-dir

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

いかだエンジン

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

ノート:

  • Raft Engine Raft Engineを初めて有効にすると、TiKVはそのデータをRocksDBからRaftEngineに転送します。したがって、TiKVが開始するまでさらに数十秒待つ必要があります。
  • TiDBv5.4.0のRaft Engineのデータ形式は、以前のTiDBバージョンと互換性がありません。したがって、TiDBクラスタをv5.4.0から以前のバージョンにダウングレードする必要がある場合は、ダウングレードするに、 enablefalseに設定してRaft Engineを無効にし、構成を有効にするためにTiKVを再起動します。

enable

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

dir

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

batch-compression-threshold

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

bytes-per-sync

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

target-file-size

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

purge-threshold

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

recovery-mode

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

recovery-read-block-size

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

recovery-threads

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

memory-limit

  • Raft Engineのメモリ使用量の制限を指定します。
  • この構成値が設定されていない場合、使用可能なシステムメモリの15%が使用されます。
  • デフォルト値: Total machine memory * 15%

安全

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

ca-path

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

cert-path

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

key-path

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

cert-allowed-cn

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

redact-info-log新機能

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

security.encryption

安静時の暗号化 (TDE)に関連するConfiguration / コンフィグレーション項目。

data-encryption-method

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

data-key-rotation-period

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

enable-file-dictionary-log

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

マスターキー

前のマスターキー

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

import

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

num-threads

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

gc

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

  • 圧縮フィルター機能でGCを有効にするかどうかを制御します
  • デフォルト値: true

バックアップ

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

num-threads

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

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

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

CDC

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

min-ts-interval

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

old-value-cache-memory-quota

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

sink-memory-quota

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

incremental-scan-speed-limit

  • 履歴データが段階的にスキャンされる最大速度。
  • デフォルト値: "128MB" 。これは毎秒128MBを意味します。

incremental-scan-threads

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

incremental-scan-concurrency

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

解決済み-ts

古い読み取り要求を処理するための解決済みTSの保守に関連するConfiguration / コンフィグレーション項目。

enable

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

advance-ts-interval

  • 解決済み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

in-memory (v6.0.0の新機能)

  • インメモリペシミスティックロック機能を有効にします。この機能を有効にすると、ペシミスティックトランザクションは、ロックをディスクに書き込んだり、ロックを他のレプリカに複製したりする代わりに、ロックをメモリに保存しようとします。これにより、悲観的なトランザクションのパフォーマンスが向上します。ただし、ペシミスティックロックが失われ、ペシミスティックトランザクションのコミットが失敗する可能性はまだ低いです。
  • デフォルト値: true
  • in-memoryは、 pipelinedの値がtrueの場合にのみ有効になることに注意してください。

クォータ

クォータリミッターに関連するConfiguration / コンフィグレーション項目。

TiKVが展開されているマシンのリソースが限られているとします。たとえば、4vCPUと16Gメモリしかない場合などです。この状況では、TiKVのフォアグラウンドが処理する読み取りおよび書き込み要求が多すぎるため、バックグラウンドで使用されるCPUリソースがそのような要求の処理を支援するために占有され、TiKVのパフォーマンスの安定性に影響を与える可能性があります。この状況を回避するには、クォータ関連の構成アイテムを使用して、フォアグラウンドで使用されるCPUリソースを制限します。リクエストがクォータリミッターをトリガーすると、リクエストはTiKVがCPUリソースを解放するまでしばらく待機することを余儀なくされます。正確な待機時間はリクエストの数によって異なり、最大待機時間は値max-delay-duration以下です。

警告
  • クォータリミッターはTiDBv6.0.0で導入された実験的機能であり、実稼働環境で使用することはお勧めしません
  • この機能は、リソースが限られている環境にのみ適しており、TiKVがそれらの環境で安定して実行できるようにします。リソースが豊富な環境でこの機能を有効にすると、リクエストの量がピークに達したときにパフォーマンスが低下する可能性があります。

foreground-cpu-time (v6.0.0の新機能)

  • 読み取りおよび書き込み要求を処理するためにTiKVフォアグラウンドによって使用されるCPUリソースのソフト制限。
  • デフォルト値: 0 (制限なしを意味します)
  • 単位:millicpu(たとえば、 1500はフォアグラウンドリクエストが1.5v CPUを消費することを意味します)

foreground-write-bandwidth (v6.0.0の新機能)

  • トランザクションがデータを書き込む帯域幅のソフト制限。
  • デフォルト値: 0KB (制限なしを意味します)

foreground-read-bandwidth (v6.0.0の新機能)

  • トランザクションとコプロセッサーがデータを読み取る帯域幅のソフト制限。
  • デフォルト値: 0KB (制限なしを意味します)

max-delay-duration (v6.0.0の新機能)

  • 単一の読み取りまたは書き込み要求がフォアグラウンドで処理される前に強制的に待機される最大時間。
  • デフォルト値: 500ms

causal- tsv6.1.0の新機能

TiKV API V2が有効になっている場合のタイムスタンプの取得に関連するConfiguration / コンフィグレーション項目( storage.api-version = 2 )。

書き込みの待ち時間を短縮し、PDへの頻繁なアクセスを回避するために、TiKVは定期的にタイムスタンプのバッチをローカルでフェッチしてキャッシュします。ローカルにキャッシュされたタイムスタンプが使い果たされると、TiKVはすぐにタイムスタンプ要求を行います。この状況では、一部の書き込み要求の待ち時間が長くなります。この状況の発生を減らすために、TiKVは、ワークロードに応じてローカルにキャッシュされたタイムスタンプのサイズを動的に調整します。ほとんどの場合、次のパラメータを調整する必要はありません。

警告

TiKVAPIV2はまだ実験的機能です。実稼働環境での使用はお勧めしません。

renew-interval

  • ローカルにキャッシュされたタイムスタンプが更新される間隔。
  • renew-intervalの間隔で、TiKVはタイムスタンプ更新のバッチを開始し、前の期間のタイムスタンプ消費に応じてキャッシュされたタイムスタンプの数を調整します。このパラメーターを大きすぎる値に設定すると、最新のTiKVワークロードの変更が時間に反映されません。このパラメータを小さすぎる値に設定すると、PDの負荷が増加します。書き込みトラフィックが大きく変動している場合、タイムスタンプが頻繁に使い果たされている場合、および書き込み遅延が増加している場合は、このパラメーターを小さい値に設定できます。同時に、PDの負荷も考慮する必要があります。
  • デフォルト値: "100ms"

renew-batch-min-size

  • ローカルにキャッシュされたタイムスタンプの最小数。
  • TiKVは、前の期間のタイムスタンプの消費量に応じて、キャッシュされたタイムスタンプの数を調整します。ローカルにキャッシュされたタイムスタンプの使用率が低い場合、TiKVはキャッシュされたタイムスタンプの数をrenew-batch-min-sizeに達するまで徐々に減らします。アプリケーションで大量のバースト書き込みトラフィックが頻繁に発生する場合は、必要に応じてこのパラメーターをより大きな値に設定できます。このパラメーターは、単一のtikvサーバーのキャッシュサイズであることに注意してください。パラメーターを大きすぎる値に設定し、クラスタに多数のtikvサーバーが含まれている場合、TSOの消費が速すぎます。
  • GrafanaのTiKV-RAW > Causalタイムスタンプパネルでは、 TSOバッチサイズは、アプリケーションのワークロードに応じて動的に調整された、ローカルにキャッシュされたタイムスタンプの数です。このメトリックを参照してrenew-batch-min-sizeを調整できます。
  • デフォルト値: 100
このページの内容