リソース分離のトラブルシューティング
このトピックでは、リソース分離に関するよくある質問への回答を提供します。
リソースグループ
リソースグループで設定する必要があるリソースは何ですか?
CPUリソースの制限を設定する必要があります。cpu_weight または exclusive_cpu_core のいずれかを設定し、その値は0より大きくなければなりません。
StarRocksはハードリソース制限をサポートしていますか?
はい。StarRocksはメモリのハード制限をサポートしています。v3.3.5以降、StarRocksは exclusive_cpu_cores を使用してCPUのハード制限をサポートしています。
リソースグループ間でCPUはどのように割り当てられますか?
複数のリソースグループが同時にクエリを実行する場合、CPU使用率は各グループの cpu_core_limit に比例します。通常のグループがスケジューリングサイクル内で BE vCPU cores - short_query.cpu_core_limit を超えると、そのサイクル内でさらにスケジュールされることはありません。
short_query リソースグループのリソースはどのように計算されますか?
short_query リソースグループがクエリを実行している場合、すべての通常グループのCPU制限は BE vCPU cores − short_query.cpu_core_limit になります。short_query リソースグループがアイドル状態の場合、そのリソースは通常グループによって使用されることができます。
マッチしないリソースグループがあるクエリはどのように処理されますか?
それらはデフォルトのリソースグループ default_wg を使用し、以下のリソース制限とプロパティを持ちます:
cpu_core_limit= vCPU coresmem_limit= 100%type=normal
リソースグループ rg3 にクエリがなく、すべてのリソースがリソースグループ rg1 と rg2 に割り当てられている場合、rg3 が大規模クエリを受け取ったときにそれらのリソースは再割り当てされますか?
はい。再取得は徐々に行われ、数十ミリ秒から数秒以内に安定します。
クラシファイア(分類器)の役割は 何ですか?マッチしない場合や、2つのクラシファイアが重複する場合はどうなりますか?
クラシファイアがマッチしない場合、クエリはデフォルトのリソースグループ default_wg にフォールバックします。クラシファイアには重みがあり、クエリが複数のクラシファイアにマッチする場合、最も高い重みを持つものが選択されます。
BEがデフォルトで90%のメモリを使用する場合、なぜリソースグループに mem_limit が必要なのですか?
mem_limit はリソースグループレベルでメモリを制限します。それはそのリソースグループ にマッチするクエリにのみ適用されます。
リソースグループの query_type が insert に設定されている場合、INSERT INTO SELECT はINSERTのみを制限するのか、それともSELECTも制限するのか?
SELECT部分のみがリソースグループによって制限されます。INSERT操作は制限されません。