AI アシスタンスを使って高いデータベース負荷についてのトラブルシューティングを行う

このドキュメントでは、Cloud SQL の AI アシスタンスを使用して、Cloud SQL でのデータベース負荷が高い場合のトラブルシューティングを行う方法について説明します。Cloud SQL と Gemini Cloud Assist の AI アシスタント機能を使用して、調査、分析、推奨事項の取得を行い、最終的に推奨事項を実装して Cloud SQL のクエリを最適化できます。

Google Cloud コンソールの [Query Insights] ダッシュボードを利用すると、システムでデータベースの負荷が平均よりも高い場合に、データベースを分析し、イベントのトラブルシューティングを行うことができます。Cloud SQL では、選択した期間の 24 時間前のデータを基に、データベースの予想負荷が算出されます。負荷イベントの増加の原因を調べ、パフォーマンス低下の原因を分析できます。最後に、Cloud SQL は、データベースを最適化してパフォーマンスを高めるための推奨事項を提供します。

始める前に

AI アシスタンス機能を使用してデータベースの負荷が高い問題のトラブルシューティングを行うには、次の操作を行います。

  1. AI を活用したトラブルシューティングの制限事項を確認する
  2. AI を活用したトラブルシューティングを有効にする

必要なロールと権限

AI アシスタンス機能を使ってデータベースの負荷が高い問題のトラブルシューティングを行うために必要なロールと権限については、AI によるモニタリングとトラブルシューティングをご確認ください。

AI アシスタンスを使用する

データベースの負荷が高い場合のトラブルシューティングに AI アシスタンス機能を使用するには、 Google Cloud コンソールの [インスタンスの概要] ページまたは [Query Insights] ダッシュボードに移動します。

インスタンスの概要ページ

次の手順に沿って、[インスタンスの概要] ページで AI アシスタンス機能を使用してデータベースの負荷が高い問題のトラブルシューティングを行います。

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [概要] ページの [グラフ] メニューで、データベースの指標を選択します。任意の指標を選択できます。
  4. 省略可: 特定の分析期間を選択するには、[期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。
  5. 概要ページのデータベース パフォーマンス グラフ。24 時間の CPU 使用率とインスタンス パフォーマンスを分析するオプションが表示されます。

    負荷が高いと思われる特定の箇所のデータを見るには、グラフのその部分を拡大します。たとえば、負荷が高い箇所では、CPU 使用率が 100% に近い値で示されている可能性があります。拡大表示するには、グラフの一部をクリックして選択します。

    ユーザーがデータポイントをクリックしてズームインしたグラフ。ズームされたグラフをリセットするオプションが表示されます。
  6. [インスタンスのパフォーマンスを分析] をクリックし、AI アシスタンスを使用してデータベース負荷が高い問題のトラブルシューティングを開始します。これにより、[データベースの負荷を分析する] ページが生成されます。

Query Insights ダッシュボード

次の手順に沿って、[Query Insights] ダッシュボードで AI アシスタンス機能を使用してデータベースの負荷が高い問題のトラブルシューティングを行います。

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [Query Insights] をクリックして [Query Insights] ダッシュボードを開きます。
  4. 省略可: [期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。
  5. 24 時間のクエリ レイテンシとインスタンスのパフォーマンスを分析するオプションを示す、Query Insights グラフのデータベースの負荷グラフ。

    クエリ実行時間別のデータベース負荷が高いと思われる特定の箇所のデータを見るには、グラフのその部分を拡大します。拡大表示するには、グラフの一部をクリックして選択します。

  6. [データベースの負荷グラフ] で [インスタンスのパフォーマンスを分析する] をクリックして、データベース負荷について AI アシスタント機能を使ったトラブルシューティングを開始します。これにより、[データベースの負荷を分析する] ページが生成されます。

高いデータベース負荷について分析する

AI アシスタント機能を使用すると、データベースの負荷について詳しく分析し、トラブルシューティングを行うことができます。

[データベースの負荷を分析する] ページで、Cloud SQL インスタンスについての次の詳細を確認できます。

  • 分析期間
  • CPU 使用率(p99)
  • メモリ使用率(p99)

Cloud SQL には、選択した期間のデータ転送アクティビティを確認できるデータ転送の入出力バイト数のグラフが表示されます。特定の期間にデータ転送アクティビティが急増していないかを確認できます。

Cloud SQL for SQL Server のデータベース パフォーマンス分析ページ

分析期間

Cloud SQL では、[Query Insights] ダッシュボードまたは [インスタンスの概要] ページのデータベース負荷グラフで選択した期間に基づいて、データベースが分析されます。24 時間未満の期間を選択した場合は、Cloud SQL ではその期間全体が分析されます。24 時間を超える期間を選択した場合は、Cloud SQL では直近の 24 時間のみが分析対象となります。

データベースのベースライン パフォーマンス分析の計算を行うために、Cloud SQL では分析期間には 24 時間のベースライン期間が含まれます。選択した期間が月曜日以外の曜日である場合、Cloud SQL では選択した期間の直前 24 時間がベースラインとして使用されます。選択した期間が月曜日の場合は、Cloud SQL では選択した期間の直前 7 日間がベースラインとして使用されます。

状況

Cloud SQL で分析を開始すると、次の主要指標に大幅な変化がないかどうかが確認されます。

  • 秒間クエリ数(QPS)
  • CPU
  • メモリ
  • ディスク I/O

Cloud SQL では、分析期間におけるパフォーマンス データ内のデータベースのベースライン集計データが比較されます。主要な指標のしきい値の大幅な変化が検出されると、Cloud SQL ではデータベースで発生するおそれのある状況が示されます。特定された状況は、選択した期間においてデータベースの負荷が高くなっている根本原因を説明している可能性があります。

たとえば、データベースで負荷が高い理由として、次のような複数の状況が特定される場合があります。

  • データベースの負荷の変化
  • ハードウェア リソースの競合
  • TempDB の競合

Cloud SQL for SQL Server における状況と根拠

根拠

Cloud SQL では、状況ごとに検出結果の根拠が一覧で示されます。Cloud SQL では、インスタンスから収集された指標に基づいて根拠が生成されます。

各状況には、システム パフォーマンスの異常を検出するために使用される補足的な根拠があります。Cloud SQL では、システム パフォーマンスが特定のしきい値を超えた場合、または特定の時間制限付き条件に合致した場合に異常が検出されます。Cloud SQL では、状況ごとにこれらのしきい値または条件が定義されています。

ハードウェア リソースの競合の状況をサポートするために、次のような証拠が表示される場合があります。

  • CPU 使用率: CPU 使用率が常に高い状態になっています。
  • サーバーレベルの待機時間: CPU サーバーの長い待機時間が存在します。

分析中に取得された証拠を表示するには、各状況をクリックします。証拠は、対応する状況の横のペインに表示されます。

推奨事項

分析されたすべての状況に基づいて、Cloud SQL ではデータベースの負荷が高い問題を解決するために講じることのできる 1 つ以上の推奨事項が提示されます。Cloud SQL は費用対効果の分析に基づいて推奨事項を提示するため、推奨事項を実装するかどうかについて十分な情報に基づいた判断を下すことができます。

場合によっては、分析結果に基づいた推奨事項が得られないこともあります。

推奨事項の表

たとえば、次のような推奨事項が表示されます。

  • クエリとワークロードのチューニング: ワークロードとクエリをチューニングし、ベスト プラクティスに基づいてワーカー スレッドの最大数を調整します。
  • データベースのメンテナンス: データベースのメンテナンスの一環として、統計情報が定期的に更新されていることを確認してください。加えて、CPU 使用が上位のクエリを定期的に調整するか、必要に応じて CPU を追加してください。

一部の推奨事項では、[詳細] リンクをクリックして、推奨事項の補足ドキュメントを読むことができます。

Gemini Cloud Assist でも、トラブルシューティングを続行するためのヒントやシステムのパフォーマンスについてのサポートが得られます。

次のステップ