- ドキュメント ホーム
- TiDBについて
- クイックスタート
- 発展させる
- 概要
- クイックスタート
- TiDB Cloud(開発者層) で TiDB クラスターを構築する
- TiDB の CRUD SQL
- TiDB でシンプルな CRUD アプリを構築する
- 応用例
- TiDB に接続する
- データベース スキーマの設計
- 書き込みデータ
- データの読み取り
- 取引
- 最適化
- トラブルシューティング
- 参照
- 書店のサンプル アプリケーション
- ガイドライン
- アーカイブされたドキュメント
- クラウドネイティブ開発環境
- サードパーティのサポート
- デプロイ
- 移行する
- 管理
- 監視と警告
- トラブルシューティング
- TiDB トラブルシューティング マップ
- 遅いクエリを特定する
- 遅いクエリを分析する
- SQL 診断
- Top SQLを使用して高価なクエリを特定する
- ログを使用して高価なクエリを特定する
- ステートメント要約表
- ホットスポットの問題のトラブルシューティング
- 増加した読み取りおよび書き込み遅延のトラブルシューティング
- クラスターのオンサイト情報の保存と復元
- クラスタ セットアップのトラブルシューティング
- 高いディスク I/O 使用率のトラブルシューティング
- ロック競合のトラブルシューティング
- TiFlash のトラブルシューティング
- オプティミスティック トランザクションでの書き込み競合のトラブルシューティング
- データとインデックス間の不一致のトラブルシューティング
- 性能チューニング
- チューニングガイド
- Configuration / コンフィグレーションのチューニング
- システムのチューニング
- ソフトウェアのチューニング
- Configuration / コンフィグレーション
- コプロセッサ キャッシュ
- SQL チューニング
- チュートリアル
- TiDB ツール
- 概要
- ユースケース
- ダウンロード
- TiUP
- ドキュメンテーション マップ
- 概要
- 用語と概念
- TiUP コンポーネントの管理
- FAQ
- トラブルシューティングガイド
- コマンドリファレンス
- 概要
- TiUP コマンド
- TiUP クラスタ コマンド
- 概要
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUP DMコマンド
- TiDB クラスター トポロジ リファレンス
- DM クラスタ トポロジ リファレンス
- ミラー リファレンス ガイド
- TiUP コンポーネント
- PingCAPクリニック診断サービス
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB データ移行
- バックアップと復元 (BR)
- Binlog
- TiCDC
- Dumpling
- 同期差分インスペクター
- ティスパーク
- 参照
- クラスタ アーキテクチャ
- 主な監視指標
- セキュリティ
- 権限
- SQL
- SQL 言語の構造と構文
- SQL ステートメント
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER TABLE COMPACT
ALTER USER
ANALYZE TABLE
BACKUP
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW ANALYZE STATUS
SHOW [BACKUPS|RESTORES]
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- データ型
- 関数と演算子
- クラスタ化インデックス
- 制約
- 生成された列
- SQL モード
- テーブル属性
- 取引
- ガベージ コレクション (GC)
- ビュー
- パーティショニング
- 一時テーブル
- キャッシュされたテーブル
- 文字セットと照合順序
- SQL の配置規則
- システム テーブル
mysql
- 情報_スキーマ
- 概要
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_POLICIES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- TiDB ダッシュボード
- 概要
- 管理
- アクセス
- 概要ページ
- クラスター情報ページ
- Top SQLページ
- キー ビジュアライザー ページ
- メトリクス関係グラフ
- SQL ステートメントの分析
- スロークエリページ
- クラスタ診断
- 検索ログ ページ
- インスタンスのプロファイリング
- セッションの管理とConfiguration / コンフィグレーション
- FAQ
- CLI
- コマンド ライン フラグ
- Configuration / コンフィグレーションファイルのパラメーター
- システム変数
- ストレージ エンジン
- テレメトリー
- エラーコード
- テーブル フィルター
- トポロジ ラベルごとにレプリカをスケジュールする
- よくある質問
- リリースノート
- すべてのリリース
- リリースのタイムライン
- TiDB のバージョニング
- v6.1
- v6.0
- v5.4
- v5.3
- v5.2
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- 用語集
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-file
もlog.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
の新機能
- ログのタイムスタンプを有効にするか無効にするかを決定します
- オプション
false
:true
- デフォルト値:
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ワーカースレッドの数。 gRPCスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
- デフォルト値:
5
- 最小値:
1
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)
は、4
とCPU
から大きい方の値を取ります。 - デフォルト値: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 num
は16
cpu_num * 0.5
。cpu num
が8
より小さい場合、デフォルト値は4
です。cpu num
が16
より大きい場合、デフォルト値は8
です。- 最小値:
1
normal-concurrency
- 通常優先度
read
の要求を処理する同時スレッドの許容数 8
の場合、デフォルトcpu num
は16
cpu_num * 0.5
。cpu num
が8
より小さい場合、デフォルト値は4
です。cpu num
が16
より大きい場合、デフォルト値は8
です。- 最小値:
1
low-concurrency
- 優先度の低い
read
リクエストを処理する同時スレッドの許容数 8
の場合、デフォルトcpu num
は16
cpu_num * 0.5
。cpu num
が8
より小さい場合、デフォルト値は4
です。cpu num
が16
より大きい場合、デフォルト値は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)
は、4
とCPU
から大きい方の値を取ります。
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-ttl
をtrue
または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の数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。
enable
がtrue
に設定されている場合、この構成アイテムはrocksdb.(defaultcf|writecf|lockcf).max-write-buffer-number
をオーバーライドします。 - デフォルト値:
5
l0-files-threshold
- kvDB L0ファイルの数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。
enable
がtrue
に設定されている場合、この構成アイテムはrocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger
をオーバーライドします。 - デフォルト値:
20
soft-pending-compaction-bytes-limit
- KvDBの保留中の圧縮バイトがこのしきい値に達すると、フロー制御メカニズムは一部の書き込み要求の拒否を開始し、
ServerIsBusy
エラーを報告します。enable
がtrue
に設定されている場合、この構成アイテムはrocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit
をオーバーライドします。 - デフォルト値:
"192GB"
hard-pending-compaction-bytes-limit
- KvDBの保留中の圧縮バイトがこのしきい値に達すると、フロー制御メカニズムはすべての書き込み要求を拒否し、
ServerIsBusy
のエラーを報告します。enable
がtrue
に設定されている場合、この構成アイテムは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の新機能
- Raft I / Oタスクを処理するスレッドの許容数。これは、StoreWriterスレッドプールのサイズです。このスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
- デフォルト値:
0
- 最小値:
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-size
がregion-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))
です。
- CPUコアの数が10の場合、デフォルト値は
- 最小値:
2
max-background-flushes
- 同時バックグラウンドメモリ可能フラッシュジョブの最大数
- デフォルト値:
- CPUコアの数が10の場合、デフォルト値は
3
です。 - CPUコアの数が8の場合、デフォルト値は
2
です。 - CPUコアの数が
N
の場合、デフォルト値は[(max-background-jobs + 3) / 4]
です。
- CPUコアの数が10の場合、デフォルト値は
- 最小値:
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ブロックのデフォルトサイズ
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.enable
がtrue
に設定されている場合、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.enable
がtrue
に設定されている場合、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"
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
- 締固め方法
- オプション
"universal"
"fifo"
"level"
- デフォルト値:
"level"
disable-auto-compactions
- 自動圧縮を無効にするかどうかを決定します。
- デフォルト値:
false
soft-pending-compaction-bytes-limit
- 保留中の圧縮バイトのソフト制限。
storage.flow-control.enable
がtrue
に設定されている場合、storage.flow-control.soft-pending-compaction-bytes-limit
はこの構成アイテムをオーバーライドします。 - デフォルト値:
"192GB"
- 単位:KB | MB | GB
hard-pending-compaction-bytes-limit
- 保留中の圧縮バイトのハード制限。
storage.flow-control.enable
がtrue
に設定されている場合、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
に関連する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
- RocksDBのバックグラウンドスレッドの数。 RocksDBスレッドプールのサイズを変更する場合は、 TiKVスレッドプールのパフォーマンスチューニングを参照してください。
- デフォルト値:
4
- 最小値:
2
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から以前のバージョンにダウングレードする必要がある場合は、ダウングレードする前に、
enable
をfalse
に設定して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
- グローバル構成
- ログ
- log.filev5.4.0
- サーバ
- <code>status-thread-pool-size</code>
- <code>grpc-compression-type</code>
- <code>grpc-concurrency</code>
- <code>grpc-concurrent-stream</code>
- <code>grpc-memory-pool-quota</code>
- <code>grpc-raft-conn-num</code>
- <code>max-grpc-send-msg-len</code>
- <code>grpc-stream-initial-window-size</code>
- <code>grpc-keepalive-time</code>
- <code>grpc-keepalive-timeout</code>
- <code>concurrent-send-snap-limit</code>
- <code>concurrent-recv-snap-limit</code>
- <code>end-point-recursion-limit</code>
- <code>end-point-request-max-handle-duration</code>
- <code>snap-max-write-bytes-per-sec</code>
- <code>end-point-slow-log-threshold</code>
- <code>raft-client-queue-size</code>
- readpool.unified
- readpool.storage
- <code>readpool.coprocessor</code>
- 保管所
- storage.block-cache
- storage.flow-control
- storage.io-rate-limit
- いかだ店
- <code>prevote</code>
- <code>capacity</code>
- <code>raftdb-path</code>
- <code>raft-base-tick-interval</code>
- <code>raft-heartbeat-ticks</code>
- <code>raft-election-timeout-ticks</code>
- <code>raft-min-election-timeout-ticks</code>
- <code>raft-max-election-timeout-ticks</code>
- <code>raft-max-size-per-msg</code>
- <code>raft-max-inflight-msgs</code>
- <code>raft-entry-max-size</code>
- <code>raft-log-compact-sync-interval</code>
- <code>raft-log-gc-tick-interval</code>
- <code>raft-log-gc-threshold</code>
- <code>raft-log-gc-count-limit</code>
- <code>raft-log-gc-size-limit</code>
- <code>raft-log-reserve-max-ticks</code>
- <code>raft-entry-cache-life-time</code>
- <code>hibernate-regions</code>
- <code>split-region-check-tick-interval</code>
- <code>region-split-check-diff</code>
- <code>region-compact-check-interval</code>
- <code>region-compact-check-step</code>
- <code>region-compact-min-tombstones</code>
- <code>region-compact-tombstones-percent</code>
- <code>pd-heartbeat-tick-interval</code>
- <code>pd-store-heartbeat-tick-interval</code>
- <code>snap-mgr-gc-tick-interval</code>
- <code>snap-gc-timeout</code>
- <code>snap-generator-pool-size</code>
- <code>lock-cf-compact-interval</code>
- <code>lock-cf-compact-bytes-threshold</code>
- <code>notify-capacity</code>
- <code>messages-per-tick</code>
- <code>max-peer-down-duration</code>
- <code>max-leader-missing-duration</code>
- <code>abnormal-leader-missing-duration</code>
- <code>peer-stale-state-check-interval</code>
- <code>leader-transfer-max-log-lag</code>
- <code>max-snapshot-file-raw-size</code>
- <code>snap-apply-batch-size</code>
- <code>consistency-check-interval</code>
- <code>raft-store-max-leader-lease</code>
- <code>merge-max-log-gap</code>
- <code>merge-check-tick-interval</code>
- <code>use-delete-range</code>
- <code>cleanup-import-sst-interval</code>
- <code>local-read-batch-size</code>
- <code>apply-max-batch-size</code>
- <code>apply-pool-size</code>
- <code>store-max-batch-size</code>
- <code>store-pool-size</code>
- <code>store-io-pool-size</code>
- <code>future-poll-size</code>
- <code>cmd-batch</code>
- <code>inspect-interval</code>
- <code>raft-write-size-limit</code>
- コプロセッサー
- <code>split-region-on-table</code>
- <code>batch-split-limit</code>
- <code>region-max-size</code>
- <code>region-split-size</code>
- <code>region-max-keys</code>
- <code>region-split-keys</code>
- <code>enable-region-bucket</code>
- <code>region-bucket-size</code>
- <code>report-region-buckets-tick-interval</code>
- RocksDB
- <code>max-background-jobs</code>
- <code>max-background-flushes</code>
- <code>max-sub-compactions</code>
- <code>max-open-files</code>
- <code>max-manifest-file-size</code>
- <code>create-if-missing</code>
- <code>wal-recovery-mode</code>
- <code>wal-dir</code>
- <code>wal-ttl-seconds</code>
- <code>wal-size-limit</code>
- <code>enable-statistics</code>
- <code>stats-dump-period</code>
- <code>compaction-readahead-size</code>
- <code>writable-file-max-buffer-size</code>
- <code>use-direct-io-for-flush-and-compaction</code>
- <code>rate-bytes-per-sec</code>
- <code>rate-limiter-mode</code>
- <code>rate-limiter-auto-tuned</code> 機能
- <code>enable-pipelined-write</code>
- <code>bytes-per-sync</code>
- <code>wal-bytes-per-sync</code>
- <code>info-log-max-size</code>
- <code>info-log-roll-time</code>
- <code>info-log-keep-log-file-num</code>
- <code>info-log-dir</code>
- rocksdb.titan
- rocksdb.defaultcf | rocksdb.writecf | rocksdb.lockcf
- <code>block-size</code>
- <code>block-cache-size</code>
- <code>disable-block-cache</code>
- <code>cache-index-and-filter-blocks</code>
- <code>pin-l0-filter-and-index-blocks</code>
- <code>use-bloom-filter</code>
- <code>optimize-filters-for-hits</code>
- <code>whole-key-filtering</code>
- <code>bloom-filter-bits-per-key</code>
- <code>block-based-bloom-filter</code>
- <code>read-amp-bytes-per-bit</code>
- <code>compression-per-level</code>
- <code>bottommost-level-compression</code>
- <code>write-buffer-size</code>
- <code>max-write-buffer-number</code>
- <code>min-write-buffer-number-to-merge</code>
- <code>max-bytes-for-level-base</code>
- <code>target-file-size-base</code>
- <code>level0-file-num-compaction-trigger</code>
- <code>level0-slowdown-writes-trigger</code>
- <code>level0-stop-writes-trigger</code>
- <code>max-compaction-bytes</code>
- <code>compaction-pri</code>
- <code>dynamic-level-bytes</code>
- <code>num-levels</code>
- <code>max-bytes-for-level-multiplier</code>
- <code>compaction-style</code>
- <code>disable-auto-compactions</code>
- <code>soft-pending-compaction-bytes-limit</code>
- <code>hard-pending-compaction-bytes-limit</code>
- <code>enable-compaction-guard</code>
- <code>compaction-guard-min-output-file-size</code>
- <code>compaction-guard-max-output-file-size</code>
- rocksdb.defaultcf.titan
- <code>min-blob-size</code>
- <code>blob-file-compression</code>
- <code>blob-cache-size</code>
- <code>min-gc-batch-size</code>
- <code>max-gc-batch-size</code>
- <code>discardable-ratio</code>
- <code>sample-ratio</code>
- <code>merge-small-file-threshold</code>
- <code>blob-run-mode</code>
- <code>level-merge</code>
- <code>gc-merge-rewrite</code>
- raftdb
- いかだエンジン
- 安全
- security.encryption
- <code>import</code>
- gc
- バックアップ
- CDC
- 解決済み-ts
- 悲観的-txn
- クォータ
- causal-