トップRU
Top RUは、 SQL文をリクエストユニット(RU)消費量に基づいてランク付けし、RU使用量を押し上げているクエリを迅速に特定するのに役立ちます。TiDB TiDB Cloud EssentialまたはTiDB Cloud Premiumインスタンスのメトリクスで予期せぬRUの急増に気づいた場合は、Top RUを使用して原因となっているSQL文を特定し、的を絞った対策を講じてください。
注記:
- Top RUは、 TiDB Cloud Premiumインスタンス向けにパブリックプレビュー版として提供されています。
- トップRUは、段階的な展開期間中に、一部のリージョンにおけるTiDB Cloud Essentialインスタンスで利用可能になります。
製品プラン比較
TiDB Cloudプランによって、RUの主要機能は異なります。
オープントップRU
- TiDB Cloudコンソールにログインし、 TiDB Cloud EssentialまたはTiDB Cloud Premiumインスタンスに移動してください。
- 左側のナビゲーション ペインで、 [監視] > [トップ RU]をクリックします。
SQLによるRU消費量の分析
概要タブには、選択した期間におけるすべてのデータベースユーザーの中で最も多くのRUを消費したSQLステートメントが表示されます。
フィルターを設定する
ページ上部のフィルターを使用して、データを絞り込んでください。
時間範囲:あらかじめ設定された間隔、またはカスタム範囲を選択してください。
プリセットオプション:過去15分、 30分、 1時間、 2時間、 6時間、 12時間、 1日。
カスタム時間範囲の場合:
- 利用可能な開始日の最短日は、データ保持期間によって異なります。TiDB TiDB Cloud Premiumインスタンスの場合は30日前、 TiDB Cloud Essentialインスタンスの場合は7日前です。
- 1回のクエリの最大有効期間は24時間です。
上位N :表示するSQL文の数を指定します。
- TiDB Cloud Premiumインスタンス:デフォルトは10。オプション: 5、20、100 。
- TiDB Cloud Essentialインスタンス:デフォルトは10。オプション: 5と20 。
SQLリストを読む
トップN SQLリストは、選択されたフィルタに対して最もRUを消費するSQLステートメントを表示します。
注記:
Top RUは、実行中のクエリも含め、SQL文の累積RU消費量に基づいて順位付けします。これにより、実行中のクエリが完了する前に、負荷の高いクエリを検出できます。実行中のクエリについては、実行プランは利用できません。
RUトレンドをビュー
リスト内のSQLステートメントにカーソルを合わせると、トレンドチャートでそのステートメントのRUトレンドラインがハイライト表示されます。このチャートは、選択した期間におけるRU消費量を1分間隔で表示し、急増がいつ始まったか、またその急増が現在も続いているかどうかを把握するのに役立ちます。
ユーザーごとのRU消費量を特定する
ユーザー別ランキングパネル
概要タブには、選択した期間におけるデータベースユーザーの合計RU消費量に基づいてランキングされた上位3つのDBユーザー(RU)パネルが表示されます。このパネルを使用して、特定のデータベースユーザーがRUの急増を引き起こしているかどうかを判断できます。
ユーザー別スライスタブ
特定のデータベースユーザーのSQLステートメントを詳しく調べるには:
- 「ユーザー別スライス」タブをクリックします。
- ユーザーフィルターで、調査対象のユーザーを選択します。このフィルターには最大100人のユーザーが表示され、それ以上のユーザーは「その他のユーザー」としてグループ化されます。
- トップN SQLリストとトレンドチャートには、選択したユーザーのクエリのみが表示されます。
SQLステートメントをドリルダウンする
上位N個のSQLリストからSQL文をクリックすると、詳細パネルが開きます。
実行概要
実行計画
Top RUは、SQL文が持つ実行プランの数と、プランデータが利用可能かどうかに基づいて情報を表示します。
プランは利用できません
プランデータが利用できない場合、Top RUにはプランダイジェスト、 SQL RUトレンド(プラン別)、実行プランは表示されません。その他のフィールドは引き続き表示されます。
複数のプラン
SQLに複数の実行プランがある場合、パネルにはまずプラン一覧が表示されます。
- 利用可能なプランをクリックすると、詳細が表示されます。
- 利用できないプランをクリックすると、概要が表示されます。利用できないプランは展開されません。
典型的なワークフロー
RUスパイクを調査するには、以下のワークフローを使用してください。
- TiDB Cloud EssentialまたはTiDB Cloud PremiumインスタンスのメトリクスにRUの急上昇が見られるか、アラートがトリガーされた場合は、その旨にご注意ください。
- 「モニタリング」 > 「トップRU」に移動し、 「概要」タブをクリックして、スパイクが発生した期間を選択します。
- 合計RU値が最も高いSQL文を特定します。各SQL文にカーソルを合わせると、RU値の推移が表示され、急上昇が始まった時期がわかります。
- 特定のユーザーがランキングの急上昇を引き起こしているかどうかを確認するには、 「ユーザー別ランキング」パネルを確認してください。
- 必要に応じて、 「ユーザー別スライス」タブに移動し、ユーザーを選択して、そのユーザーが最も多くのRUを消費しているSQLステートメントに注目してください。
- SQL文をクリックすると、詳細パネルが開きます。実行プランを確認して、インデックスの欠落など、最適化の機会を見つけてください。
- クエリテンプレートIDを使用して、実行コンテキストの詳細を確認するために、遅いクエリまたはSQLステートメントを相互参照してください。
- インデックスの追加、SQLの書き換え、ビジネスロジックの調整など、最適化を適用してください。
- トップRUページに戻り、最近の期間を選択して、RU消費量が減少していることを確認してください。
制限事項
- 請求RUとは同等ではありません:Top RUデータは、ほぼリアルタイムでの可視性を目的としており、 TiDB Cloudの請求書に記載されているRU使用量とは異なる場合があります。Top RUデータは、請求の照合や監査には使用しないでください。
- 上位N件の集計:RU消費量が最も多いSQL文のみが個別に表示されます。RU消費量が少ないSQL文は「その他」カテゴリに集約されます。
- データの鮮度:データは分単位の粒度で更新されます。
- 最大クエリ期間:一度に最大24時間分のデータをクエリできます。
FAQ
Top RUとTop SQLの違いは何ですか?
Top SQL特定のTiDBまたはTiKVノードにおけるCPU時間に基づいてSQLステートメントをランク付けします。これはTiDB Cloud Dedicatedクラスタに適用されます。
Top RUは、インスタンスレベルでのリクエストユニット(RU)消費量に基づいてSQLステートメントをランク付けし、ユーザーレベルでの内訳をサポートします。TiDB TiDB Cloud PremiumインスタンスとTiDB Cloud Essentialインスタンスに適用されます。
Top RUにデータがないのはなぜですか?
- 選択した期間に実際のSQLワークロードが含まれていることを確認してください。
- 少なくとも1分間ワークロードを実行した後、ページを更新してください。
- TiDB Cloudリリースノートを確認して、お使いのTiDB Cloud EssentialまたはTiDB Cloud Premium インスタンスのバージョンとリージョンで Top RU が利用可能かどうかを確認してください。
問題が解決しない場合は、 TiDB Cloudサポートにお問い合わせください。
トップRUは請求RUと同じですか?
いいえ。Top RUは、高負荷SQLの診断に役立つ、ほぼリアルタイムのRU統計情報を表示します。課金およびコスト管理については、 TiDB Cloud課金コンソールの課金RUを参照してください。
メトリクスにおけるRU使用状況とトップRUの違いは何ですか?
- RU/s メトリックは、インスタンス全体レベルでの 1 分間の平均 RU レート (RU/s) を示します。
- トップRUは、選択した期間におけるSQLステートメントごとの累積RU(RU/秒×実行時間)を表示し、どのSQLステートメントが合計で最も多くのリソースを消費しているかを特定するのに役立ちます。