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

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

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

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

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

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

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

システム分析情報ダッシュボードが開きます。

指標とイベントのタイムラインを示すダッシュボード画像。

システム分析情報ダッシュボードには、次の情報が表示されます。

  1. インスタンスの詳細

  2. イベントのタイムライン: システム イベントが時系列で表示されます。この情報は、システム イベントがインスタンスの正常性とパフォーマンスに及ぼす影響を評価するのに役立ちます。

  3. 概要カード: CPU 使用率、ディスク使用率、ログエラーの指標の最新の値と集計値を表示して、インスタンスの健全性とパフォーマンスの概要を確認できます。

  4. 指標グラフ: オペレーティング システムとデータベースの指標に関する情報を示します。スループット、レイテンシ、費用など、いくつかの問題に関する分析情報を得ることができます。

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

  • カスタマイズされたダッシュボードを作成するには、[ダッシュボードをカスタマイズ] をクリックします。
  • ダッシュボードを最新の状態に保つには、[ 自動更新] オプションを有効にします。[自動更新] を有効にすると、ダッシュボード データが 1 分ごとに更新されます。

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

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

概要カード

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

概要カード説明
CPU 使用率 - P50 P50 の CPU 使用率の値。
CPU 使用率 - P99 P99 の CPU 使用率の値。
ディスク使用率 最新のディスク使用率の値。
ログのエラー ログに記録されたエラーの数。

指標グラフ

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

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

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

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

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

    • PNG 画像をダウンロードする

    • Metrics Explorer で表示するMetrics Explorer で指標を表示します。Cloud SQL Database リソースタイプを選択すると、Metrics Explorer で他の Cloud SQL 指標を確認できます。

次の表は、Cloud SQL のシステム情報分析ダッシュボードにデフォルトで表示される Cloud SQL の指標を示したものです。

指標名とタイプ説明
クエリのレイテンシ
dbinsights.googleapis.com/
aggregate/latencies

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

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

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

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

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

CPU 使用率
cloudsql.googleapis.com/
database/cpu/utilization

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

MySQL の接続数
cloudsql.googleapis.com/
database/network/connections

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

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

cloudsql.googleapis.com/
database/network/received_bytes_count


cloudsql.googleapis.com/
database/network/sent_bytes_count

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

メモリのコンポーネント

cloudsql.googleapis.com/
database/memory/components

データベースで利用可能なメモリ コンポーネント。使用量、キャッシュ、空きメモリです。各メモリ コンポーネントの値は、データベースで使用可能な合計メモリの割合として計算されます。
MySQL のクエリ数
cloudsql.googleapis.com/
database/mysql/queries
サーバーによって実行されたステートメントの数です。これには、ストアド プロシージャや関数などのストアド プログラム内で実行されるステートメントが含まれます。
MySQL のクエスチョン数
cloudsql.googleapis.com/
database/mysql/questions
サーバーによって実行されたステートメントの数です。これには、クライアントによってサーバーに送信されたステートメントのみが含まれ、ストアド プログラム内で実行されるステートメントは含まれません。
MySQL のネットワーク トラフィック
cloudsql.googleapis.com/
database/mysql/received_bytes_count

cloudsql.googleapis.com/
database/mysql/sent_bytes_count
クライアントから送受信されたバイト数。
InnoDB のページ数

  • InnoDB のダーティページ数
    cloudsql.googleapis.com/
    database/mysql/innodb_buffer_pool_pages_dirty
  • InnoDB のフリーページ数
    cloudsql.googleapis.com/
    database/mysql/innodb_buffer_pool_pages_free
  • InnoDB の合計ページ数
    cloudsql.googleapis.com/
    database/mysql/innodb_buffer_pool_pages_total

InnoDB バッファプール内のダーティページ、フリーページ、合計ページの数。InnoDB バッファプールのダーティページとは、メモリ内で変更されたが、ディスクには書き戻されないページのことです。InnoDB バッファプールのフリーページとは、データが含まれず、未使用のページのことです。
InnoDB fsync 呼び出し数

cloudsql.googleapis.com/
database/mysql/innodb_data_fsyncs

InnoDB fsync オペレーションの数。
InnoDB ログ fsync 呼び出し数

cloudsql.googleapis.com/
database/mysql/innodb_os_log_fsyncs

InnoDB redo ログファイルに対して実行された fsync オペレーションの数。
InnoDB ページの読み取り / 書き込み

cloudsql.googleapis.com/
database/mysql/innodb_pages_read


cloudsql.googleapis.com/
database/mysql/innodb_pages_written
InnoDB ページの読み取りと書き込みの回数。
MySQL の開いているテーブルのキャッシュ

cloudsql.googleapis.com/
database/mysql/open_tables


cloudsql.googleapis.com/
database/mysql/opened_table_count
open_tables は、現在開いているテーブルの数です。
opened_table_count は、最後のサンプル以降にデータベースが開いたテーブルの数です。
opened_table_count の値が一貫して高い場合は、table_open_cache の値を増やすことをおすすめします。
MySQL のテーブル定義キャッシュ

cloudsql.googleapis.com/database/
mysql/open_table_definitions


cloudsql.googleapis.com/database/
mysql/opened_table_definitions_count
open_table_definitions は、現在開いているテーブル定義の数です。opened_table_definitions_count は、最後のサンプル以降、データベースでテーブル定義が開かれた回数です。opened_table_definitions_count の値が一貫して高い場合は、table_definition_cache の値を増やすことをおすすめします。
InnoDB データ ディクショナリのメモリ使用量

cloudsql.googleapis.com/
database/mysql/innodb/dictionary_memory

InnoDB データ ディクショナリ キャッシュのメモリ使用量です。InnoDB には、テーブル、列、インデックス、外部キーなど、データベース オブジェクトに関する情報を保存する独自のキャッシュがあります。table_definition_cache は、このキャッシュ内のテーブル数にソフトリミットを設定します。ただし、外部キーの関係を持つテーブルは、データベースがシャットダウンまたは再起動されるまでキャッシュに保存されます。インスタンスに外部キーの関係を持つテーブルが多くある場合、このキャッシュは大量のメモリを消費する可能性があります。
ディスク ストレージ(タイプ別)
cloudsql.googleapis.com/
database/disk/bytes_used_by_data_type
databinlogtmp_data などのデータ型ごとのインスタンス ディスク使用量の内訳。この指標は、ストレージ費用の把握に役立ちます。ストレージの使用料金について詳しくは、ストレージとネットワークの料金をご覧ください。

ポイントインタイム リカバリ(PITR)ではバイナリログが使用されます。Cloud SQL が新しいログを定期的に生成し、これらのログは保存容量を使用します。Cloud SQL は、バイナリログとそれに関連する自動バックアップを自動的に削除します。これは通常、transactionLogRetentionDays に設定された保持値が満たされた後に行われます。transactionLogRetentionDays は、Cloud SQL がトランザクション ログを保持する日数です。値の範囲は 17 です。

PITR の使用中に予期しないストレージの問題を回避するには、ストレージの自動増量を有効にすることをおすすめします。

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

cloudsql.googleapis.com/
database/disk/read_ops_count


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

write_ops_count は、ディスク書き込み I/O オペレーションの差分数を示します。Cloud SQL インスタンス(レプリカを除く)では、およそ 1 秒間に 1 回システム テーブルに書き込まれます。
Cloud Logging

logging.googleapis.com/
log_entry_count
エラーと警告のログエントリの合計数を表示します。

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

イベントのタイムライン

ダッシュボードには、次のイベントの詳細が表示されます。

イベント名説明オペレーションのタイプ
Instance restart Cloud SQL インスタンスの再起動 RESTART
Instance failover 高可用性(HA)プライマリ インスタンスから、プライマリ インスタンスになるスタンバイ インスタンスへの手動フェイルオーバーを開始します。 FAILOVER
Instance maintenance インスタンスが現在メンテナンス中であることを示します。通常、メンテナンスを行うとインスタンスは 1~3 分間使用できなくなります。 MAINTENANCE
Instance backup インスタンスのバックアップを実行します。 BACKUP_VOLUME
Instance update Cloud SQL インスタンスの設定を更新します。 UPDATE
Promote replica Cloud SQL レプリカ インスタンスを昇格させます。 PROMOTE_REPLICA
Start replica Cloud SQL 読み取りレプリカ インスタンスでレプリケーションを開始します。 START_REPLICA
Stop replica Cloud SQL 読み取りレプリカ インスタンスでレプリケーションを停止します。 STOP_REPLICA
Recreate replica Cloud SQL レプリカ インスタンスのリソースを再作成します。 RECREATE_REPLICA
Create replica Cloud SQL レプリカ インスタンスを作成します。 CREATE_REPLICA
Data import Cloud SQL インスタンスにデータをインポートします。 IMPORT
Instance export データを Cloud SQL インスタンスから Cloud Storage バケットにエクスポートします。 EXPORT
Restore backup Cloud SQL インスタンスのバックアップを復元します。このオペレーションにより、インスタンスが再起動する可能性があります。 RESTORE_VOLUME

次のステップ