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

TiDB構成ファイルは、コマンドラインパラメーターよりも多くのオプションをサポートしています。デフォルトの構成ファイルconfig.toml.exampleをダウンロードして、名前をconfig.tomlに変更できます。このドキュメントでは、 コマンドラインオプションに関係しないオプションについてのみ説明します。

split-table

  • テーブルごとに個別のリージョンを作成するかどうかを決定します。
  • デフォルト値: true
  • 多数のテーブル(たとえば、10万を超えるテーブル)を作成する必要がある場合は、 falseに設定することをお勧めします。

token-limit

  • リクエストを同時に実行できるセッションの数。
  • タイプ:整数
  • デフォルト値: 1000
  • 最小値: 1
  • 最大値(64ビットプラットフォーム): 18446744073709551615
  • 最大値(32ビットプラットフォーム): 4294967295

mem-quota-query

  • 1つのSQLステートメントで使用可能な最大メモリー。
  • デフォルト値: 1073741824 (バイト単位)
  • 注:クラスタをv2.0.xまたはv3.0.xからv4.0.9以降のバージョンにアップグレードする場合、この構成のデフォルト値は34359738368です。
  • この値よりも多くのメモリを必要とするリクエストは、 oom-actionで定義された動作に基づいて処理されます。
  • この値は、システム変数tidb_mem_quota_queryの初期値です。

oom-use-tmp-storage

  • 1つのSQLステートメントがmem-quota-queryで指定されたメモリクォータを超えたときに、一部のオペレータの一時ストレージを有効にするかどうかを制御します。
  • デフォルト値: true

tmp-storage-path

  • 1つのSQLステートメントがmem-quota-queryで指定されたメモリクォータを超えた場合に、一部のオペレータの一時ストレージパスを指定します。
  • デフォルト値: <temporary directory of OS>/<OS user ID>_tidb/MC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=/tmp-storageMC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=<host>:<port>/<statusHost>:<statusPort>Base64エンコード結果です。
  • この構成は、 oom-use-tmp-storagetrueの場合にのみ有効になります。

tmp-storage-quota

  • tmp-storage-pathのストレージのクォータを指定します。単位はバイトです。
  • 単一のSQLステートメントが一時ディスクを使用し、TiDBサーバーの一時ディスクの合計ボリュームがこの構成値を超えると、現在のSQL操作がキャンセルされ、 Out of Global Storage Quota!エラーが返されます。
  • この構成の値が0より小さい場合、上記のチェックと制限は適用されません。
  • デフォルト値: -1
  • tmp-storage-pathの残りの使用可能なストレージがtmp-storage-quotaで定義された値よりも少ない場合、TiDBサーバーは起動時にエラーを報告し、終了します。

oom-action

  • 1つのSQLステートメントがmem-quota-queryで指定されたメモリクォータを超え、ディスクにスピルオーバーできない場合にTiDBが実行する操作を指定します。
  • デフォルト値: "cancel" (TiDB v4.0.2以前のバージョンでは、デフォルト値は"log"です)
  • 有効なオプションは"log""cancel"です。 oom-action="log"の場合、ログのみを出力します。 oom-action="cancel"の場合、操作をキャンセルしてログを出力します。

lower-case-table-names

  • lower_case_table_namesシステム変数の値を構成します。

  • デフォルト値: 2

  • 詳細については、この変数のMySQLの説明を参照してください。

    ノート:

    現在、TiDBはこのオプションの値を2に設定することのみをサポートしています。つまり、テーブル名を保存するときは大文字と小文字が区別されますが、テーブル名を比較するときは大文字と小文字が区別されません。比較は小文字に基づいています。

lease

  • DDLリースのタイムアウト。
  • デフォルト値: 45s
  • 単位:秒

compatible-kill-query

  • KILLステートメントをMySQL互換に設定するかどうかを決定します。
  • デフォルト値: false
  • TiDBでのKILL xxxの動作は、MySQLでの動作とは異なります。 TiDBにはTIDBのキーワード、つまりKILL TIDB xxxが必要です。 compatible-kill-querytrueに設定されている場合、 TIDBキーワードは必要ありません。
  • ユーザーがCtrl + Cを押したときのMySQLコマンドラインクライアントのデフォルトの動作は、バックエンドへの新しい接続を作成し、その新しい接続でKILLステートメントを実行することであるため、この区別は重要です。ロードバランサーまたはプロキシが新しい接続を元のセッションとは異なるTiDBサーバーインスタンスに送信した場合、間違ったセッションが終了し、クラスタを使用するアプリケーションが中断される可能性があります。 KILLステートメントで参照している接続が、 KILLステートメントの送信先と同じサーバー上にあることが確実な場合にのみ、 compatible-kill-queryを有効にします。

check-mb4-value-in-utf8

  • utf8mb4文字チェックを有効にするかどうかを決定します。この機能を有効にした場合、文字セットがutf8で、 mb4文字がutf8に挿入されると、エラーが返されます。
  • デフォルト値: false

treat-old-version-utf8-as-utf8mb4

  • 古いテーブルのutf8文字セットをutf8mb4として扱うかどうかを決定します。
  • デフォルト値: true

alter-primary-key (非推奨)

  • 主キー制約を列に追加するか、列から削除するかを決定します。
  • デフォルト値: false
  • このデフォルト設定では、主キー制約の追加または削除はサポートされていません。この機能を有効にするには、 alter-primary-keytrueに設定します。ただし、スイッチがオンになる前にテーブルがすでに存在し、その主キー列のデータ型が整数である場合、この構成項目をtrueに設定しても、列から主キーを削除することはできません。

ノート:

この構成アイテムは非推奨になり、現在、 @tidb_enable_clustered_indexの値がINT_ONLYの場合にのみ有効になります。主キーを追加または削除する必要がある場合は、テーブルを作成するときに代わりにNONCLUSTEREDキーワードを使用してください。 CLUSTEREDタイプの主キーの詳細については、 クラスター化されたインデックスを参照してください。

server-version

  • 次の状況でTiDBによって返されるバージョン文字列を変更します。
    • 内蔵のVERSION()機能を使用する場合。
    • TiDBがクライアントへの初期接続を確立し、サーバーのバージョン文字列を含む初期ハンドシェイクパケットを返す場合。詳細については、 MySQL初期ハンドシェイクパケットを参照してください。
  • デフォルト値: ""
  • デフォルトでは、TiDBバージョン文字列の形式は5.7.${mysql_latest_minor_version}-TiDB-${tidb_version}です。

repair-mode

  • 信頼できない修復モードを有効にするかどうかを決定します。 repair-modetrueに設定されている場合、 repair-table-listの不良テーブルをロードできません。
  • デフォルト値: false
  • repair構文はデフォルトではサポートされていません。これは、TiDBの起動時にすべてのテーブルがロードされることを意味します。

repair-table-list

  • repair-table-listは、 repair-modetrueに設定されている場合にのみ有効です。 repair-table-listは、インスタンスで修復する必要がある不良テーブルのリストです。リストの例は、["db.table1""db.table2"...]です。
  • デフォルト値:[]
  • リストはデフォルトでは空です。これは、修復する必要のある不良テーブルがないことを意味します。

new_collations_enabled_on_first_bootstrap

  • 新しい照合順序サポートを有効または無効にします。
  • デフォルト値: false
  • 注:この構成は、最初に初期化されたTiDBクラスタに対してのみ有効です。初期化後、この構成アイテムを使用して、新しい照合順序サポートを有効または無効にすることはできません。 TiDBクラスタがv4.0にアップグレードされると、クラスタは以前に初期化されているため、この構成アイテムのtruefalseの両方の値がfalseと見なされます。

max-server-connections

  • TiDBで許可される同時クライアント接続の最大数。リソースを制御するために使用されます。
  • デフォルト値: 0
  • デフォルトでは、TiDBは同時クライアント接続の数に制限を設定していません。この構成アイテムの値が0より大きく、実際のクライアント接続の数がこの値に達すると、TiDBサーバーは新しいクライアント接続を拒否します。

max-index-length

  • 新しく作成されたインデックスの最大許容長を設定します。
  • デフォルト値: 3072
  • 単位:バイト
  • 現在、有効な値の範囲は[3072, 3072*4]です。 MySQLとTiDB(バージョン<v3.0.11)にはこの構成項目はありませんが、どちらも新しく作成されたインデックスの長さを制限します。 MySQLのこの制限は3072です。 TiDB(バージョン= <3.0.7)では、この制限は3072*4です。 TiDB(3.0.7 <バージョン<3.0.11)では、この制限は3072です。この構成は、MySQLおよび以前のバージョンのTiDBと互換性があるように追加されています。

table-column-count-limit limitv5.0の新機能

  • 1つのテーブルの列数の制限を設定します。
  • デフォルト値: 1017
  • 現在、有効な値の範囲は[1017, 4096]です。

index-limit limitv5.0の新機能

  • 1つのテーブルのインデックス数の制限を設定します。
  • デフォルト値: 64
  • 現在、有効な値の範囲は[64, 512]です。

enable-telemetry telemetryv4.0.2の新機能

  • TiDBのテレメトリ収集を有効または無効にします。
  • デフォルト値: true
  • この構成がすべてのTiDBインスタンスでfalseに設定されている場合、TiDBのテレメトリ収集は無効になり、 tidb_enable_telemetryシステム変数は有効になりません。詳細については、 テレメトリーを参照してください。

enable-tcp4-only機能

  • TCP4でのみリスニングを有効または無効にします。
  • デフォルト値: false
  • このオプションを有効にすると、TiDBをLVSとともにロードバランシングに使用する場合に役立ちます。これは、 TCPヘッダーからの実際のクライアントIPが「tcp4」プロトコルによって正しく解析されるためです。

enable-enum-length-limit limitv5.0の新機能

  • 単一のENUM要素と単一のSET要素の最大長を制限するかどうかを決定します。
  • デフォルト値: true
  • この構成値がtrueの場合、単一のENUM要素と単一のSET要素の最大長は255文字であり、 MySQL 8.0と互換性があります。この構成値がfalseの場合、TiDB(v5.0より前)と互換性のある単一要素の長さに制限はありません。

graceful-wait-before-shutdownの新機能

  • サーバーをシャットダウンするときにTiDBが待機する秒数を指定します。これにより、クライアントが切断できるようになります。
  • デフォルト値: 0
  • TiDBが(猶予期間中に)シャットダウンを待機している場合、HTTPステータスは障害を示し、ロードバランサーがトラフィックを再ルーティングできるようにします。

ログ

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

level

  • ログ出力レベルを指定します。
  • infoのオプションwarn debugfatal error
  • デフォルト値: info

format

  • ログ出力形式を指定します。
  • 値のオプション: jsonおよびtext
  • デフォルト値: text

enable-timestamp

  • ログでタイムスタンプ出力を有効にするかどうかを決定します。
  • デフォルト値: null
  • 値をfalseに設定すると、ログはタイムスタンプを出力しません。

ノート:

  • 下位互換性を保つために、最初のdisable-timestampの構成項目は引き続き有効です。ただし、 disable-timestampの値がenable-timestampの値と意味的に競合する場合(たとえば、 enable-timestampdisable-timestampの両方がtrueに設定されている場合)、TiDBはdisable-timestampの値を無視します。
  • 現在、TiDBはdisable-timestampを使用して、タイムスタンプをログに出力するかどうかを決定します。この状況では、 enable-timestampの値はnullです。
  • それ以降のバージョンでは、 disable-timestampの構成が削除されます。 disable-timestampを破棄し、意味的に理解しやすいenable-timestampを使用します。

enable-slow-log

  • 低速クエリログを有効にするかどうかを決定します。
  • デフォルト値: true
  • 低速クエリログを有効にするには、 enable-slow-logtrueに設定します。それ以外の場合は、 falseに設定します。

slow-query-file

  • 低速クエリログのファイル名。
  • デフォルト値: tidb-slow.log
  • スローログのフォーマットはTiDBv2.1.8で更新されているため、スローログは個別にスローログファイルに出力されます。 v2.1.8より前のバージョンでは、この変数はデフォルトで「」に設定されています。
  • 設定後、スロークエリログが別途このファイルに出力されます。

slow-threshold

  • スローログに消費時間のしきい値を出力します。
  • デフォルト値: 300ms
  • クエリの値がデフォルト値よりも大きい場合、それは低速クエリであり、低速ログに出力されます。

record-plan-in-slow-log

  • 実行プランを低速ログに記録するかどうかを決定します。
  • デフォルト値: 1
  • 0は無効にすることを意味し、 1 (デフォルト)は有効にすることを意味します。このパラメーターの値は、 tidb_record_plan_in_slow_logシステム変数の初期値です。

expensive-threshold

  • expensiveの操作の行数のしきい値を出力します。
  • デフォルト値: 10000
  • クエリ行の数(統計に基づく中間結果を含む)がこの値よりも大きい場合、それはexpensive操作であり、プレフィックスが[EXPENSIVE_QUERY]のログを出力します。

query-log-max-len

  • SQL出力の最大長。
  • デフォルト値: 4096
  • ステートメントの長さがquery-log-max-lenより大きい場合、ステートメントは切り捨てられて出力されます。

log.file

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

filename

  • 一般ログファイルのファイル名。
  • デフォルト値: ""
  • 設定すると、このファイルにログが出力されます。

max-size

  • ログファイルのサイズ制限。
  • デフォルト値:300
  • 単位:MB
  • 最大値は4096です。

max-days

  • ログが保持される最大日数。
  • デフォルト値: 0
  • ログはデフォルトで保持されます。値を設定すると、期限切れのログはmax-days秒後にクリーンアップされます。

max-backups

  • 保持されるログの最大数。
  • デフォルト値: 0
  • デフォルトでは、すべてのログファイルが保持されます。 7に設定すると、最大7つのログファイルが保持されます。

安全

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

require-secure-transport

  • クライアントがデータ転送にセキュアモードを使用することを要求するかどうかを決定します。
  • デフォルト値: false

enable-sem

  • セキュリティ拡張モード(SEM)を有効にします。
  • デフォルト値: false
  • SEMのステータスは、システム変数tidb_enable_enhanced_securityを介して入手できます。

ssl-ca

  • PEM形式の信頼できるCA証明書のファイルパス。
  • デフォルト値: ""
  • このオプションと--ssl-certを同時に設定すると、 --ssl-keyは、クライアントが証明書を提示するときに、このオプションで指定された信頼できるCAのリストに基づいてクライアント証明書を認証します。認証に失敗すると、接続は終了します。
  • このオプションを設定しても、クライアントが証明書を提示しない場合、クライアント証明書認証なしで安全な接続が続行されます。

ssl-cert

  • PEM形式のSSL証明書のファイルパス。
  • デフォルト値: ""
  • このオプションと--ssl-keyを同時に設定すると、TiDBは、クライアントがTLSを使用してTiDBに安全に接続することを許可します(強制はしません)。
  • 指定された証明書または秘密鍵が無効な場合、TiDBは通常どおり起動しますが、安全な接続を受信できません。

ssl-key

  • PEM形式のSSL証明書キーのファイルパス、つまり--ssl-certで指定された証明書の秘密キー。
  • デフォルト値: ""
  • 現在、TiDBはパスワードで保護された秘密鍵のロードをサポートしていません。

cluster-ssl-ca

  • TiKVまたはPDをTLSに接続するために使用されるCAルート証明書。
  • デフォルト値: ""

cluster-ssl-cert

  • TiKVまたはPDをTLSに接続するために使用されるSSL証明書ファイルのパス。
  • デフォルト値: ""

cluster-ssl-key

  • TiKVまたはPDをTLSに接続するために使用されるSSL秘密鍵ファイルのパス。
  • デフォルト値: ""

spilled-file-encryption-method

  • こぼれたファイルをディスクに保存するために使用される暗号化方法を決定します。
  • デフォルト値: "plaintext" 、これは暗号化を無効にします。
  • オプション値: "plaintext"および"aes128-ctr"

auto-tls

  • 起動時にTLS証明書を自動的に生成するかどうかを決定します。
  • デフォルト値: false

tls-version

  • MySQLプロトコル接続の最小TLSバージョンを設定します。
  • デフォルト値: ""、TLSv1.1以降を許可します。
  • オプションの"TLSv1.1""TLSv1.0""TLSv1.3" "TLSv1.2"

パフォーマンス

パフォーマンスに関連するConfiguration / コンフィグレーション項目。

max-procs

  • TiDBが使用するCPUの数。
  • デフォルト値: 0
  • デフォルトの0は、マシン上のすべてのCPUを使用することを示します。 nに設定することもでき、TiDBはn個のCPUを使用します。

server-memory-quota quotav4.0.9の新機能

  • tidb-serverインスタンスのメモリ使用制限。
  • デフォルト値: 0 (バイト単位)。これは、メモリ制限がないことを意味します。

memory-usage-alarm-ratio ratiov4.0.9の新機能

  • TiDBは、tidb-serverインスタンスのメモリ使用量が特定のしきい値を超えるとアラームをトリガーします。この構成アイテムの有効な値の範囲は0 10または1として設定されている場合、このアラーム機能は無効になります。
  • デフォルト値: 0.8
  • メモリ使用量アラームが有効になっている場合、 server-memory-quotaが設定されていない場合、メモリ使用量のしきい値はthe `memory-usage-alarm-ratio` value * the system memory sizeです。 server-memory-quotaが0より大きい値に設定されている場合、メモリ使用量のしきい値はthe `memory-usage-alarm-ratio` value * the `server-memory-quota` valueです。
  • TiDBは、tidb-serverインスタンスのメモリ使用量がしきい値を超えたことを検出すると、OOMのリスクがある可能性があると見なします。したがって、メモリ使用量が最も多い10個のSQLステートメント、実行時間が最も長い10個のSQLステートメント、および現在実行中のすべてのSQLステートメントのヒーププロファイルをディレクトリtmp-storage-path/recordに記録し、キーワードtidb-server has the risk of OOMを含むログを出力します。
  • この構成項目の値は、システム変数tidb_memory_usage_alarm_ratioの初期値です。

max-txn-ttl

  • 1つのトランザクションがロックを保持できる最長の時間。この時間を超えると、トランザクションのロックが他のトランザクションによってクリアされ、このトランザクションを正常にコミットできなくなる可能性があります。
  • デフォルト値: 3600000
  • 単位:ミリ秒
  • この時間より長くロックを保持するトランザクションは、コミットまたはロールバックすることしかできません。コミットが成功しない可能性があります。

committer-concurrency

  • 単一トランザクションのコミットフェーズでのコミットの実行に関連するリクエストのゴルーチンの数。
  • デフォルト値: 128
  • コミットするトランザクションが大きすぎる場合、トランザクションがコミットされるときのフロー制御キューの待機時間が長すぎる可能性があります。この状況では、構成値を増やしてコミットを高速化できます。

stmt-count-limit

  • 1つのTiDBトランザクションで許可されるステートメントの最大数。
  • デフォルト値: 5000
  • ステートメントの数がstmt-count-limitを超えた後、トランザクションがロールバックまたはコミットされない場合、TiDBはstatement count 5001 exceeds the transaction limitation, autocommit = falseエラーを返します。この構成は、再試行可能なオプティミスティックトランザクションでのみ有効になります。ペシミスティックトランザクションを使用する場合、またはトランザクションの再試行を無効にした場合、トランザクション内のステートメントの数はこの構成によって制限されません。

txn-entry-size-limit新機能

  • TiDBの単一行のデータのサイズ制限。
  • デフォルト値: 6291456 (バイト単位)
  • トランザクション内の単一のKey-Valueレコードのサイズ制限。サイズ制限を超えると、TiDBはentry too largeエラーを返します。この構成アイテムの最大値は125829120 (120 MB)を超えません。
  • TiKVにも同様の制限があることに注意してください。単一の書き込み要求のデータサイズがraft-entry-max-size (デフォルトでは8 MB)を超える場合、TiKVはこの要求の処理を拒否します。テーブルに大きなサイズの行がある場合は、両方の構成を同時に変更する必要があります。

txn-total-size-limit

  • TiDBでの単一トランザクションのサイズ制限。
  • デフォルト値: 104857600 (バイト単位)
  • 1つのトランザクションでは、Key-Valueレコードの合計サイズがこの値を超えることはできません。このパラメーターの最大値は1099511627776 (1 TB)です。 binlogを使用してダウンストリームコンシューマーKafka( arbiterクラスタなど)にサービスを提供した場合、このパラメーターの値は1073741824 (1 GB)以下でなければならないことに注意してください。これは、Kafkaが処理できる単一のメッセージサイズの上限が1GBであるためです。それ以外の場合、この制限を超えるとエラーが返されます。

tcp-keep-alive

  • TCP層でkeepaliveを有効にするかどうかを決定します。
  • デフォルト値: true

tcp-no-delay

  • TCP層でTCP_NODELAYを有効にするかどうかを決定します。有効にした後、TiDBはTCP / IPプロトコルのNagleアルゴリズムを無効にし、小さなデータパケットを送信してネットワーク遅延を削減できるようにします。これは、データの送信量が少ない、遅延の影響を受けやすいアプリケーションに適しています。
  • デフォルト値: true

cross-join

  • デフォルト値: true
  • TiDBは、デフォルトで両側テーブルの条件なしでJOINステートメント( WHEREフィールド)を実行することをサポートします。値をfalseに設定すると、そのようなJOINステートメントが表示されたときにサーバーは実行を拒否します。

stats-lease

  • 統計の再ロード、テーブル行数の更新、自動分析の実行が必要かどうかの確認、フィードバックを使用した統計の更新、および列の統計のロードの時間間隔。
  • デフォルト値: 3s
    • stats-lease回の間隔で、TiDBは更新の統計をチェックし、更新が存在する場合はそれらをメモリに更新します。
    • TiDBは、 20 * stats-lease回の間隔で、DMLによって生成された行の総数と変更された行の数をシステムテーブルに更新します。
    • TiDBは、 stats-leaseの間隔で、自動的に分析する必要のあるテーブルとインデックスをチェックします。
    • stats-leaseの間隔で、TiDBはメモリにロードする必要のある列統計をチェックします。
    • 200 * stats-leaseの間隔で、TiDBはメモリにキャッシュされたフィードバックをシステムテーブルに書き込みます。
    • 5 * stats-leaseの間隔で、TiDBはシステムテーブルのフィードバックを読み取り、メモリにキャッシュされている統計を更新します。
  • stats-leaseが0に設定されている場合、TiDBはシステムテーブルのフィードバックを定期的に読み取り、メモリにキャッシュされている統計を3秒ごとに更新します。ただし、TiDBは、次の統計関連のシステムテーブルを自動的に変更しなくなりました。
    • mysql.stats_meta :TiDBは、トランザクションによって変更されたテーブル行の数を自動的に記録し、このシステムテーブルに更新しなくなりました。
    • mysql.stats_top_n mysql.stats_buckets mysql.stats_histogramsは、統計を自動的に分析してプロアクティブに更新しなくなりました。
    • mysql.stats_feedback :TiDBは、クエリされたデータによって返された統計の一部に従って、テーブルとインデックスの統計を更新しなくなりました。

run-auto-analyze

  • TiDBが自動分析を実行するかどうかを決定します。
  • デフォルト値: true

feedback-probability

  • TiDBが各クエリのフィードバック統計を収集する確率。
  • デフォルト値: 0
  • この機能はデフォルトで無効になっているため、この機能を有効にすることはお勧めしません。有効になっている場合、TiDBは統計を更新するためにfeedback-probabilityの確率で各クエリのフィードバックを収集します。

query-feedback-limit

  • メモリにキャッシュできるクエリフィードバックの最大数。この制限を超える余分なフィードバックは破棄されます。
  • デフォルト値: 1024

pseudo-estimate-ratio

  • テーブル内の(変更された行の数)/(行の総数)の比率。値を超えると、システムは統計の有効期限が切れていると見なし、疑似統計が使用されます。
  • デフォルト値: 0.8
  • 最小値は0 、最大値は1です。

force-priority

  • すべてのステートメントの優先度を設定します。
  • デフォルト: NO_PRIORITY
  • オプションのLOW_PRIORITYNO_PRIORITYDELAYED HIGH_PRIORITY

distinct-agg-push-down

  • オプティマイザーが、 Distinctselect count(distinct a) from tなど)の集計関数をコプロセッサーにプッシュダウンする操作を実行するかどうかを決定します。
  • デフォルト: false
  • この変数は、システム変数tidb_opt_distinct_agg_push_downの初期値です。

enforce-mpp

  • オプティマイザのコスト見積もりを無視し、クエリの実行にTiFlashのMPPモードを強制的に使用するかどうかを決定します。
  • デフォルト値: false
  • この構成項目は、 tidb_enforce_mppの初期値を制御します。たとえば、この構成項目がtrueに設定されている場合、デフォルト値のtidb_enforce_mppONです。

準備された計画キャッシュ

PREPAREステートメントのplan cache構成。

enabled

  • PREPAREステートメントのプランキャッシュを有効にするかどうかを決定します。
  • デフォルト値: false

capacity

  • キャッシュされたステートメントの数。
  • デフォルト値: 1000
  • タイプはUINTです。 0未満の値は、大きな整数に変換されます。

memory-guard-ratio

  • performance.max-memoryを超えないようにするために使用します。 max-memory * (1 - prepared-plan-cache.memory-guard-ratio)を超えると、LRU内の要素が削除されます。
  • デフォルト値: 0.1
  • 最小値は0です。最大値は1です。

オープントレース

オープントレースに関連するConfiguration / コンフィグレーション項目。

enable

  • opentracingを有効にして、一部のTiDBコンポーネントの呼び出しオーバーヘッドをトレースします。オープントレースを有効にすると、パフォーマンスが低下することに注意してください。
  • デフォルト値: false

rpc-metrics

  • RPCメトリックを有効にします。
  • デフォルト値: false

opentracing.sampler

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

type

  • オープントレースサンプラーのタイプを指定します。
  • デフォルト値: "const"
  • "probabilistic""remote" "rateLimiting" "const"

param

  • オープントレースサンプラーのパラメーター。
    • constタイプの場合、値は0または1になり、 constサンプラーを有効にするかどうかを示します。
    • probabilisticタイプの場合、パラメーターはサンプリング確率を指定します。これは、 0から1までの浮動小数点数にすることができます。
    • rateLimitingタイプの場合、パラメーターは1秒あたりにサンプリングされるスパンの数を指定します。
    • remoteタイプの場合、パラメーターはサンプリング確率を指定します。これは、 0から1までの浮動小数点数にすることができます。
  • デフォルト値: 1.0

sampling-server-url

  • jaeger-agentサンプリングサーバーのHTTPURL。
  • デフォルト値: ""

max-operations

  • サンプラーがトレースできる操作の最大数。操作がトレースされない場合は、デフォルトの確率的サンプラーが使用されます。
  • デフォルト値: 0

sampling-refresh-interval

  • jaeger-agentサンプリングポリシーのポーリングの頻度を制御します。
  • デフォルト値: 0

opentracing.reporter

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

queue-size

  • レポーターがメモリ内で記録するキューサイズ。
  • デフォルト値: 0

buffer-flush-interval

  • レポーターがメモリ内のスパンをストレージにフラッシュする間隔。
  • デフォルト値: 0

log-spans

  • 送信されたすべてのスパンのログを印刷するかどうかを決定します。
  • デフォルト値: false

local-agent-host-port

  • レポーターが送信するアドレスは、jaeger-agentにまたがっています。
  • デフォルト値: ""

tikv-client

grpc-connection-count

  • 各TiKVで確立された接続の最大数。
  • デフォルト値: 4

grpc-keepalive-time

  • TiDBノードとTiKVノード間のRPC接続のkeepalive時間間隔。指定された時間間隔内にネットワークパケットがない場合、gRPCクライアントはTiKVに対してpingコマンドを実行して、それが生きているかどうかを確認します。
  • デフォルト: 10
  • 単位:秒

grpc-keepalive-timeout

  • TiDBノードとkeepaliveノード間のRPC1チェックのタイムアウト。
  • デフォルト値: 3
  • 単位:秒

commit-timeout

  • トランザクションコミットを実行するときの最大タイムアウト。
  • デフォルト値: 41s
  • この値は、ラフト選挙タイムアウトの2倍より大きく設定する必要があります。

max-batch-size

  • バッチで送信されるRPCパケットの最大数。値が0でない場合、 BatchCommands APIを使用してTiKVにリクエストを送信し、同時実行性が高い場合にRPCレイテンシを短縮できます。この値は変更しないことをお勧めします。
  • デフォルト値: 128

max-batch-wait-time

  • max-batch-wait-timeがデータパケットをバッチで大きなパケットにカプセル化し、TiKVノードに送信するのを待ちます。 tikv-client.max-batch-sizeの値が0より大きい場合にのみ有効です。この値は変更しないことをお勧めします。
  • デフォルト値: 0
  • 単位:ナノ秒

batch-wait-size

  • バッチでTiKVに送信されるパケットの最大数。この値は変更しないことをお勧めします。
  • デフォルト値: 8
  • 値が0の場合、この機能は無効になります。

overload-threshold

  • TiKV負荷のしきい値。 TiKVの負荷がこのしきい値を超えると、TiKVの圧力を軽減するために、さらにbatchのパケットが収集されます。 tikv-client.max-batch-sizeの値が0より大きい場合にのみ有効です。この値は変更しないことをお勧めします。
  • デフォルト値: 200

tikv-client.copr-cachev4.0.0の新機能

このセクションでは、コプロセッサー・キャッシュ機能に関連する構成項目を紹介します。

capacity-mb

  • キャッシュされたデータの合計サイズ。キャッシュスペースがいっぱいになると、古いキャッシュエントリが削除されます。値が0.0の場合、コプロセッサーキャッシュ機能は無効になります。
  • デフォルト値: 1000.0
  • 単位:MB
  • タイプ:フロート

txn-local-latches

トランザクションラッチに関連するConfiguration / コンフィグレーション。多くのローカルトランザクションの競合が発生した場合に有効にすることをお勧めします。

enabled

  • トランザクションのメモリロックを有効にするかどうかを決定します。
  • デフォルト値: false

capacity

  • ハッシュに対応するスロットの数。2の指数倍数に自動的に上方修正されます。各スロットは32バイトのメモリを占有します。設定が小さすぎると、データの書き込みが比較的広い範囲(データのインポートなど)をカバーするシナリオで、実行速度が低下し、パフォーマンスが低下する可能性があります。
  • デフォルト値: 2048000

binlog

TiDBBinlogに関連する構成。

enable

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

write-timeout

  • binlogをPumpに書き込むタイムアウト。この値を変更することはお勧めしません。
  • デフォルト: 15s
  • 単位:秒

ignore-error

  • binlogをPumpに書き込むプロセスで発生したエラーを無視するかどうかを決定します。この値を変更することはお勧めしません。
  • デフォルト値: false
  • 値がtrueに設定されていてエラーが発生すると、TiDBはbinlogの書き込みを停止し、 tidb_server_critical_error_totalの監視項目のカウントに1を追加します。値がfalseに設定されている場合、binlogの書き込みは失敗し、TiDBサービス全体が停止します。

binlog-socket

  • binlogのエクスポート先のネットワークアドレス。
  • デフォルト値: ""

strategy

  • binlogがエクスポートされるときのポンプ選択の戦略。現在、 hashつとrangeの方法のみがサポートされています。
  • デフォルト値: range

状態

TiDBサービスのステータスに関連するConfiguration / コンフィグレーション。

report-status

  • HTTPAPIサービスを有効または無効にします。
  • デフォルト値: true

record-db-qps

  • データベース関連のQPSメトリックをPrometheusに送信するかどうかを決定します。
  • デフォルト値: false

stmt- summaryv3.0.4の新機能

ステートメント要約表に関連する構成。

max-stmt-count

max-sql-length

悲観的-txn

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

max-retry-count

  • 悲観的トランザクションにおける各ステートメントの最大再試行回数。再試行回数がこの制限を超えると、エラーが発生します。
  • デフォルト値: 256

デッドロック-履歴-容量

  • 単一のTiDBサーバーのINFORMATION_SCHEMA.DEADLOCKSつのテーブルに記録できるデッドロックイベントの最大数。このテーブルがフルボリュームであり、追加のデッドロックイベントが発生した場合、テーブル内の最も古いレコードが削除され、最新のエラーが発生します。
  • デフォルト値: 10
  • 最小値: 0
  • 最大値: 10000

デッドロック-履歴-収集-再試行可能

実験的

v3.1.0で導入されたexperimentalのセクションでは、TiDBの実験的機能に関連する構成について説明します。

allow-expression-index indexv4.0.0の新機能

  • 式インデックスを作成できるかどうかを制御します。 TiDB v5.2.0以降、式の関数が安全であれば、この構成を有効にしなくても、この関数に基づいて式インデックスを直接作成できます。他の関数に基づいて式インデックスを作成する場合は、この構成を有効にできますが、正確性の問題が存在する可能性があります。 tidb_allow_function_for_expression_index変数をクエリすることにより、式の作成に直接使用しても安全な関数を取得できます。
  • デフォルト値: false

stats-load-concurrencyの新機能

  • TiDB同期ロード統計機能が同時に処理できる列の最大数。
  • デフォルト値: 5
  • 現在、有効な値の範囲は[1, 128]です。

stats-load-queue-size sizev5.4.0の新機能

  • TiDB同期ロード統計機能がキャッシュできる列要求の最大数。
  • デフォルト値: 1000
  • 現在、有効な値の範囲は[1, 100000]です。

このページは役に立ちましたか?