重要

TiDB v6.2 (DMR) のドキュメントを表示しています。PingCap は v6.2 のバグ修正を提供していません。バグは将来のリリースで修正される予定です。

一般的な目的では、TiDBデータベースの最新の安定バージョンを使用してください。
重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

リージョンのパフォーマンスを調整する

このドキュメントでは、リージョンサイズを調整してリージョンのパフォーマンスを調整する方法と、リージョンサイズが大きい場合にバケットを使用して同時クエリを最適化する方法を紹介します。

概要

TiKV 自動的にシャード最下層データ 。データは、キー範囲に基づいて複数のリージョンに分割されます。リージョンのサイズがしきい値を超えると、TiKV はリージョンを 2 つ以上のリージョンに分割します。

大量のデータを処理する場合、TiKV はあまりにも多くのリージョンを分割する可能性があり、これによりリソースの消費量とパフォーマンスの回帰が増加します。一定量のデータの場合、リージョンサイズが大きいほど、リージョン数は少なくなります。 v6.1.0 以降、TiDB はリージョンサイズのカスタマイズ設定をサポートしています。リージョンのデフォルト サイズは 96 MiB です。リージョンの数を減らすには、リージョンをより大きなサイズに調整できます。

多くのリージョンのパフォーマンス オーバーヘッドを削減するために、 休止リージョンまたはRegion Mergeを有効にすることもできます。

region-split-sizeを使用してリージョンサイズを調整します

警告

現在、カスタマイズされたリージョンサイズは、TiDB v6.1.0 で導入された実験的機能です。実稼働環境で使用することはお勧めしません。リスクは次のとおりです。

  • パフォーマンスのジッターが発生する可能性があります。
  • 特に広範囲のデータを処理するクエリの場合、クエリのパフォーマンスが低下する可能性があります。
  • リージョンのスケジューリングが遅くなります。

リージョンサイズを調整するには、 coprocessor.region-split-size構成アイテムを使用できます。推奨されるサイズは、96 MiB、128 MiB、または 256 MiB です。 region-split-sizeの値が大きいほど、パフォーマンスがより不安定になります。リージョンサイズを 1 GiB より大きく設定することはお勧めしません。サイズを 10 GiB より大きく設定しないでください。 TiFlash を使用する場合、リージョンサイズは 256 MiB を超えてはなりません。

Dumplingツールを使用する場合、リージョンサイズは 1 GiB を超えてはなりません。この場合、リージョンサイズを増やした後で同時実行数を減らす必要があります。そうしないと、TiDB がメモリ不足になる可能性があります。

バケットを使用して同時実行数を増やす

警告

現在、これは TiDB v6.1.0 で導入された実験的機能です。実稼働環境で使用することはお勧めしません。

リージョンがより大きなサイズに設定されている場合は、クエリの同時実行数を増やすためにcoprocessor.enable-region-buckettrueを設定する必要があります。この構成を使用すると、リージョンはバケットに分割されます。バケットはリージョン内のより小さな範囲であり、スキャンの同時実行性を向上させるために同時クエリの単位として使用されます。 coprocessor.region-bucket-sizeを使用してバケット サイズを制御できます。デフォルト値は96MiBです。