リージョンのパフォーマンスを調整する
このドキュメントでは、リージョンサイズを調整してリージョンのパフォーマンスを調整する方法と、リージョンサイズが大きい場合にバケットを使用して同時クエリを最適化する方法を紹介します。
概要
TiKV 自動的にシャード最下層データ 。データは、キー範囲に基づいて複数のリージョンに分割されます。リージョンのサイズがしきい値を超えると、TiKV はリージョンを 2 つ以上のリージョンに分割します。
大量のデータを処理する場合、TiKV はあまりにも多くのリージョンを分割する可能性があり、これによりリソースの消費量とパフォーマンスの回帰が増加します。一定量のデータの場合、リージョンサイズが大きいほど、リージョン数は少なくなります。 v6.1.0 以降、TiDB はリージョンサイズのカスタマイズ設定をサポートしています。リージョンのデフォルト サイズは 96 MiB です。リージョンの数を減らすには、リージョンをより大きなサイズに調整できます。
多くのリージョンのパフォーマンス オーバーヘッドを削減するために、 休止リージョンまたはRegion Merge
を有効にすることもできます。
region-split-size
を使用してリージョンサイズを調整します
リージョンサイズを調整するには、 coprocessor.region-split-size
構成アイテムを使用できます。推奨されるサイズは、96 MiB、128 MiB、または 256 MiB です。 region-split-size
の値が大きいほど、パフォーマンスがより不安定になります。リージョンサイズを 1 GiB より大きく設定することはお勧めしません。サイズを 10 GiB より大きく設定しないでください。 TiFlash を使用する場合、リージョンサイズは 256 MiB を超えてはなりません。
Dumplingツールを使用する場合、リージョンサイズは 1 GiB を超えてはなりません。この場合、リージョンサイズを増やした後で同時実行数を減らす必要があります。そうしないと、TiDB がメモリ不足になる可能性があります。
バケットを使用して同時実行数を増やす
リージョンがより大きなサイズに設定されている場合は、クエリの同時実行数を増やすためにcoprocessor.enable-region-bucket
~ true
を設定する必要があります。この構成を使用すると、リージョンはバケットに分割されます。バケットはリージョン内のより小さな範囲であり、スキャンの同時実行性を向上させるために同時クエリの単位として使用されます。 coprocessor.region-bucket-size
を使用してバケット サイズを制御できます。デフォルト値は96MiB
です。