Query Profile 概要
はじめに
Query Profile は、クエリに関与するすべての作業ノードの実行情報を記録し、クエリパフォーマンスに影響を与えるボトルネックを迅速に特定するのに役立ちます。これは、StarRocks におけるクエリパフォーマンスの診断と調整のための強力なツールです。
v3.3.0 以降、StarRocks は INSERT INTO FILES() および Broker Load を使用したデータロードのための Query Profile を提供することをサポートしています。関連するメトリクスの詳細については、 OlapTableSink Operator を参照してください。
Query Profile の有効化方法
Query Profile の有効化
Query Profile を有効にするには、変数 enable_profile を true に設定します。
SET enable_profile = true;
SET GLOBAL enable_profile = true;
スロークエリのための Query Profile
長期間にわたって Query Profile をグローバルに有効にすることは、追加のシステム負荷を課す可能性があるため、本番環境では推奨されません。スロークエリのみをキャプチャして分析するには、変数 big_query_profile_threshold を 0s より大きい時間に設定します。例えば、30s に設定すると、30 秒を超えるクエリのみが Query Profile をトリガーします。
-- 30 秒
SET global big_query_profile_threshold = '30s';
-- 500 ミリ秒
SET global big_query_profile_threshold = '500ms';
-- 60 分
SET global big_query_profile_threshold = '60m';
実行時 Query Profile
長時間実行されるクエリでは、完了前に進捗や問題を特定するのが難しい場合があります。実行時 Query Profile 機能 (v3.1+) は、実行中に固定間隔で Query Profile データを収集し、クエリの進捗やボトルネックに関するリアルタイムの洞察を提供します。
Query Profile が有効になっている場合、実行時 Query Profile はデフォルトで 10 秒の報告間隔で自動的に有効化されます。runtime_profile_report_interval で間隔を調整できます。
SET runtime_profile_report_interval = 30;