システム分析情報を使用してシステム パフォーマンスを向上させる

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、Cloud SQL のシステム分析情報ダッシュボードの使用方法について説明します。システム分析情報ダッシュボードには、インスタンスで使用するリソースの指標が表示されるため、システム パフォーマンスの問題の検出と分析に役立ちます。

システム分析情報ダッシュボードを表示する

システム分析情報ダッシュボードを表示する手順は次のとおりです。

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

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

  2. インスタンスの名前をクリックします。
  3. 左側の SQL ナビゲーション パネルから [システム分析情報] タブを選択します。

システム分析情報ダッシュボードが開きます。上部にインスタンスの詳細、指標の概要カード、主な指標のグラフが表示されます。

Cloud SQL Monitoring ダッシュボードが表示されています。期間を設定するためのフィルタがあります。重要な指標のグラフが表示されます。

ダッシュボードには、大きく分けて次のオプションがあります。

  • 2 つのグラフを並べて表示するか、1 行に 1 つのグラフのみを表示するには、 切り替えボタンをクリックします。

  • タイムセレクタでは、デフォルトで 1 hour が選択されています。期間を変更するには、事前に定義されている他の期間を選択するか、[カスタム] をクリックして開始時刻と終了時刻を定義します。過去 30 日分のデータを利用できます。

  • ダッシュボードの絶対リンクを作成するには、[リンクをコピー] ボタンをクリックします。このリンクは、同じ権限を持つ他の Cloud SQL ユーザーと共有できます。

概要カードには、一部の指標の最新または集計値が表示されます。データベースの健全性とパフォーマンスの概要を確認できます。

指標グラフには、スループット、レイテンシ、コストなど、問題に関する分析情報の取得に役立つ重要な指標の情報が表示されます。この情報は、アプリケーションの変更が必要なときに事前に対応する際にも役立ちます。

概要カード

次の表は、システム分析情報ダッシュボードの上部に表示される概要カードを示しています。このカードには、選択した期間のデータベースの健全性とパフォーマンスの概要が表示されます。

概要カード説明
CPU 使用率 - P99 | P50 選択した期間の P99 および P50 の CPU 使用率の値。
ディスク使用率 選択した期間内のディスク使用率の最新値。
ピーク接続数 選択した期間の最大接続数に対するピーク接続数の割合。ピーク接続数は、インスタンスのスケーリングや max_connections 設定の手動変更などにより最大数が最近変更された場合、その最大数より大きくなる場合があります。
ログのエラー 選択した期間中にログに記録されたエラーの数。

指標グラフ

サンプルの指標のグラフカードは次のようになります。

Cloud SQL 指標データのサンプルを示すグラフ

各グラフカードのツールバーには、次の標準オプションのセットがあります。

  • 凡例の表示と非表示を切り替えるには、 をクリックします。

  • 選択した期間の特定の時点の指標値を表示するには、グラフの上にカーソルを移動します。

  • 全画面モードでグラフを表示するには、 をクリックします。全画面モードを終了するには、Esc キーをクリックします。

  • グラフをズームするには、グラフをクリックし、X 軸に沿って水平方向または Y 軸に沿って垂直方向にドラッグします。ズームを元に戻すには、 をクリックします。ズーム操作は、ダッシュボード上のすべてのグラフに同時に適用されます。

  • その他のオプションを表示するには、 をクリックします。多くのグラフには、次のオプションがあります。

    • PNG 画像をダウンロードする
    • カスタム ダッシュボードに追加する。ダッシュボードの名前を入力するか、既存のカスタム ダッシュボードを選択します。Cloud Monitoring を使用して、ダッシュボードの表示と編集を行います。
    • Metrics Explorer で表示するMetrics Explorer で指標を表示します。Cloud SQL Database リソースタイプを選択すると、Metrics Explorer で他の Cloud SQL 指標を確認できます。

次の表は、Cloud SQL のシステム情報分析ダッシュボードにデフォルトで表示される Cloud SQL のグラフを示したものです。指標タイプの文字列は、接頭辞 cloudsql.googleapis.com/database/ の後ろに続きます。

指標名とタイプ説明
クエリのレイテンシ
postgresql/insights/aggregate/latencies

ユーザーとデータベースごとの P99、P95、P50 別の集計クエリ レイテンシ分布。

クエリ分析情報が有効になっているインスタンスでのみ使用できます。

データベース、ユーザー、クライアント アドレスごとのデータベース負荷
postgresql/insights/aggregate/execution_time

データベース、ユーザー、またはクライアント アドレスごとのクエリ実行の累積時間。クエリ実行に関連するすべてのプロセスの CPU 時間、IO 待機時間、ロック待機時間、プロセス コンテキスト切り替え、スケジューリングの合計です。

クエリ分析情報が有効になっているインスタンスでのみ使用できます。

CPU 使用率
cpu/utilization

現在の CPU 使用率は、現在使用されている予約済みの CPU の割合として表されます。

ディスク ストレージ(タイプ別)
disk/bytes_used_by_data_type

データ型(databinlogtmp_data など)ごとのインスタンス ディスク使用量の内訳。

この指標は、ストレージ費用の把握に役立ちます。ストレージの使用料金の詳細については、ストレージとネットワークの料金をご覧ください。

ポイントインタイム リカバリ(PITR)は、ログ先行書き込み(WAL)のアーカイブを使用します。これらのログは定期的に更新され、保存容量を使用します。ログ先行書き込みは、関連する自動バックアップによって自動的に削除されます。これは通常、約 7 日後に発生します。

ログ先行書き込みログのサイズが原因でインスタンスに問題が発生している場合、ストレージ サイズを大きくすることができます。ただし、ディスク使用量のログ先行書き込みのサイズが大きくなるのはあくまで一時的です。予期しないストレージの問題を回避するため、PITR の使用時にストレージの自動増量を有効にすることをおすすめします。

ログを削除してストレージを復元するには、ポイントインタイム リカバリを無効にします。ただし、使用されたストレージを減らしても、インスタンスにプロビジョニングされたストレージのサイズは縮小されません。

一時データはストレージ使用量指標に含まれます。一時データはメンテナンスの一環として削除され、ディスクフル イベントを回避するために、無料でユーザー定義の容量制限を超えて増加することが可能です。

新しく作成されたデータベースは、システム テーブルとファイル用に約 100 MB を使用します。

ディスク読み取り / 書き込みオペレーション
disk/read_ops_countdisk/write_ops_count

読み取り回数の指標は、キャッシュではなくディスクからの読み取りオペレーションの回数を示します。この指標を使用すると、インスタンスが環境に適したサイズかどうかを判断できます。必要な場合はさらに大きいマシンタイプを使用して、キャッシュから提供されるリクエストを増やし、レイテンシを短縮できます。

書き込み回数は、ディスクへの書き込みオペレーションの回数です。書き込みアクティビティは、アプリケーションがアクティブではない場合でも生成されます。これは、Cloud SQL インスタンス(レプリカを除く)によって約 1 秒間に 1 回システム テーブルに書き込まれているためです。

ステータス別の接続数
postgresql/num_backends_by_state

ステータス別(idleactiveidle_in_transactionidle_in_transaction_aborteddisabledfastpath_function_call)にグループ化された接続数。

これらのステータスについては、pg_stat_activity ドキュメントの state text 行をご覧ください。

データベースあたりの接続数
postgresql/num_backends

データベース インスタンスが保持する接続数。

上り / 下り(内向き / 外向き)のバイト数
network/received_bytes_countnetwork/sent_bytes_count

インスタンスとの間の上り(内向き)バイト数(受信バイト数)と下り(外向き)バイト数(送信バイト数)それぞれで示したネットワーク トラフィック。

タイプ別の IO 待機の内訳
postgresql/insights/perquery/io_time

読み取り / 書き込みタイプ別の SQL ステートメントの IO 待機時間の内訳。

クエリ分析情報が有効になっているインスタンスでのみ使用できます。

デッドロック数(データベース別)
postgresql/deadlock_count

データベースあたりのデッドロックの数。

ブロック読み取り数
postgresql/blocks_read_count

ディスクとバッファ キャッシュから 1 秒あたりに読み取られたブロックの数。

オペレーション別の処理行数
postgresql/tuples_processed_count

オペレーション別の 1 秒あたりの処理行数。

データベース内の行(状態別)
postgresql/tuple_size

データベース内の状態別の行数

最も古いトランザクション(経過時間別)
postgresql/vacuum/oldest_transaction_age

バキューム オペレーションをブロックしている最も古いトランザクションの経過時間。

WAL のアーカイブ
replication/log_archive_success_countreplication/log_archive_failure_count

アーカイブに成功または失敗した 1 分あたりの先行書き込みログファイルの数。

また、Cloud Logging の指標である重大度別のログエントリ(logging.googleapis.com/log_entry_count)には、エラーと警告のログエントリの合計数が表示されます。これらは、データベース ログである postgres.log と、データアクセス情報を含む pgaudit.log から抽出されます。

詳細については、Cloud SQL の指標をご覧ください。

次のステップ