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

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

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

始める前に

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

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

必要なロールと権限

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

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

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

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

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

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

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

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

Query Insights ダッシュボード

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

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

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

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

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

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

[Analyzing database load] ページで、AlloyDB インスタンスについての次の詳細を確認できます。

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

AlloyDB では、選択した期間のトランザクションの処理状況を確認できる1 秒あたりのトランザクション数のグラフが表示されます。特定の期間にアクティビティが急増していないかを確認できます。

分析期間

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

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

状況

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

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

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

たとえば、データベースで負荷が高い理由として、ロック競合が特定される場合があります。

分析中に、ロック待機率の大幅な増加があったと AlloyDB が判断することがあります。主要な指標に大幅な増加がみられる他の状況も示されることがあります。たとえば、次のような状況が挙げられます。

  • システム リソースの競合
  • バッファ不足
  • 過剰なロギング

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

根拠

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

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

ロック競合の状況を裏付ける根拠として、次のようなものがあります。

  • ロック待機率: ベースラインの観測期間と比べると、ロック待機率が 40,786.04% 増加しています。

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

推奨事項

分析されたすべての状況に基づき、データベースの負荷が高い問題を解決するために講じることのできる推奨事項が提示されます。推奨事項には費用対効果の分析がついており、推奨事項を講じるべきかの判断材料になります。

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

推奨事項の表

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

  • 阻害要因の特定: 阻害要因となっている可能性があるクエリを特定し、最適化の余地があるかどうかを検討します。

この最初の最適化案を実装する方法については、[詳細] リンクをクリックしてください。

Gemini Cloud Assist でも、トラブルシューティングを続行するヒントやシステムのパフォーマンスについてのサポートが得られます。詳細については、AI の支援機能によるモニタリングとトラブルシューティングをご覧ください。

次のステップ