本トピックでは、Hologres の各モニタリングメトリックの意味を説明します。これらのメトリックを理解することで、ビジネス要件に最も適したメトリックを選択し、リソース使用状況および SQL 実行状況をリアルタイムで監視し、システムエラーを迅速に検出し、インスタンス障害に対応できます。
重要なお知らせ
QE および FixedQE に関する注意事項:
QE は、XQE エンジンファミリーに属する Hologres 独自のベクターコンピュートエンジン(例:HQE、SQE)の総称です。スロークエリログにおいて、Engine Type={XQE} のクエリは、モニタリングメトリック上で QE カテゴリに分類されます。
FixedQE は、Fixed Plan パス を使用するクエリを指します。スロークエリログにおいて、Engine Type={FixedQE}(V2.2 より前の SDK)のクエリは、モニタリングメトリック上で FixedQE カテゴリに分類されます。
Command Type に関する注意事項:
Command Type は、SQL 文の種別と一致します。たとえば、
INSERT xxxやINSERT xxx ON CONFLICT DO UPDATE/NOTHINGは、いずれも INSERT として分類されます。UNKNOWN:DPI エンジンが構文エラーにより認識できない SQL 文の分類です。
UTILITY:INSERT、UPDATE、DELETE、SELECT 以外の管理、定義、制御コマンドです。
以下を含みます:
データ定義言語 (DDL):CREATE、ALTER、DROP、TRUNCATE、COMMENT。
トランザクション制御言語 (TCL):BEGIN、COMMIT、ROLLBACK、SAVEPOINT。
管理およびメンテナンス:ANALYZE、VACUUM、EXPLAIN、SET、SHOW、COPY、REFRESH。
実行および手続制御:PREPARE、EXECUTE、DEALLOCATE、CALL、DECLARE CURSOR。
その他:LOCK TABLE、LISTEN、NOTIFY。
CloudMonitor では、各メトリックに一意の ID が割り当てられており、特定のメトリックをより容易に検索できます。異なるインスタンスタイプのメトリック ID には、それぞれ異なるプレフィックスが付与されます。たとえば、汎用インスタンス、フォロワーインスタンス、仮想ウェアハウスインスタンス、Lakehouse アクセラレーション(共有クラスター)では、それぞれ
standard_、follower_、warehouse_、shared_が使用されます。各インスタンスタイプでサポートされるメトリックは、以下のとおりです:汎用インスタンス:汎用インスタンスでサポートされるメトリック。
フォロワーインスタンス:フォロワーインスタンスでサポートされるメトリック。
計算グループ:計算グループインスタンスでサポートされるメトリック。
Lakehouse アクセラレーション(共有クラスター):Lakehouse アクセラレーションインスタンスでサポートされるメトリック。
メトリックにデータが表示されない場合、現在のインスタンスバージョンがそのメトリックをサポートしていないか、長期間にわたりアクティビティが発生していない可能性があります。
モニタリングデータは最大 30 日間保持されます。
アクセス制御
Hologres コンソールのモニタリングページは、CloudMonitor からデータを取得します。RAM ユーザーを使用してモニタリング情報を表示する場合は、ビジネス要件に応じて適切な権限を付与する必要があります。これらの権限には、以下が含まれます:
AliyunCloudMonitorFullAccess:CloudMonitor の完全管理権限。
AliyunCloudMonitorReadOnlyAccess:CloudMonitor の読み取り専用権限。
RAM ユーザーの権限付与について詳しくは、「RAM ユーザーへの権限付与」をご参照ください。
モニタリングメトリックの概要
Hologres で利用可能なモニタリングメトリックは以下のとおりです:
分類 | メトリック | 説明 | 対応するインスタンスタイプ | 備考 |
CPU | インスタンスの CPU 使用率です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | なし | |
インスタンス内の各ワーカーノードの CPU 使用率です。 | ||||
計算グループ内の各クラスターの CPU 使用率です。 | 計算グループインスタンス | Hologres V4.0 以降でのみサポートされます。 | ||
メモリ | インスタンスのメモリ使用量。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | なし | |
インスタンス内の各ワーカーノードのメモリ使用率です。 | ||||
メモリ使用率を、システム、メタ、キャッシュ、クエリ、バックグラウンドのカテゴリ別に細分化しています。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.0 以降でのみサポートされます。 | ||
QE エンジンで実行されるクエリが使用するメモリ量です。 | Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。 | |||
QE エンジンで実行されるクエリが使用するメモリの割合です。 | ||||
計算グループ内の各クラスターのメモリ使用率です。 | 計算グループインスタンス | Hologres V4.0 以降でのみサポートされます。 | ||
クエリ QPS と RPS | インスタンス全体の 1 秒あたりのクエリ数 (QPS) の合計です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス、共有クラスターインスタンス | クエリ QPS ≥ QE QPS + FixedQE QPS。 説明 合計 QPS には、UNKNOWN、UTILITY、Engine Type={PG} などのすべてのクエリが含まれるため、合計 QPS は QE QPS と FixedQE QPS の合計以上になります。 | |
QE エンジンで実行されるクエリの QPS です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.2 以降でのみサポートされます。 | ||
FixedQE(旧 SDK)エンジンで実行されるクエリの QPS です。 | ||||
インスタンス内の DML クエリの 1 秒あたりのレコード数 (RPS) の合計です。 | 汎用インスタンス、計算グループインスタンス | DML RPS = QE RPS + FixedQE RPS | ||
QE エンジンで実行される DML 操作の RPS です。 | Hologres V2.2 以降でのみサポートされます。 | |||
FixedQE エンジンで実行される DML 操作の RPS です。 | ||||
クエリレイテンシ | インスタンス内のクエリのレイテンシです。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス、共有クラスターインスタンス | なし | |
QE エンジンで実行されるクエリのレイテンシです。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.2 以降でのみサポートされます。 | ||
FixedQE エンジンで実行されるクエリのレイテンシです。 | ||||
クエリの最適化フェーズの所要時間です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス、共有クラスターインスタンス | Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。 | ||
クエリのクエリ開始フェーズの所要時間です。 | ||||
クエリの次の結果取得フェーズの所要時間です。 | ||||
クエリの P99 レイテンシです。 | なし | |||
現在インスタンス内で実行中のクエリのうち、最も実行時間が長いクエリの実行時間です。 | ||||
失敗したクエリ QPS | インスタンス内の 1 秒あたりの失敗クエリ数の合計です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス、共有クラスターインスタンス | 失敗クエリ QPS ≥ QE 失敗クエリ QPS + FixedQE 失敗クエリ QPS。 説明 失敗クエリ QPS には、UNKNOWN、UTILITY、Engine Type={PG} などのすべての失敗クエリがカウントされるため、合計失敗 QPS は QE 失敗クエリ QPS と FixedQE 失敗クエリ QPS の合計以上になります。 | |
QE エンジンで実行される失敗クエリの 1 秒あたりの数です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.2 以降でのみサポートされます。 | ||
FixedQE エンジンで実行される失敗クエリの 1 秒あたりの数です。 | 汎用インスタンス、計算グループインスタンス | |||
ロック | FE ノードにおける DDL ロックの待ち時間です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。 | |
FixedQE のロック待ち時間で、通常 HQE ロックを指します。 | ||||
インスタンスにおける HQE ロックの遅延で、FixedQE HQE ロック遅延を含みます。 | ||||
接続 | インスタンスで使用される接続数の合計です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス、共有クラスターインスタンス | なし | |
インスタンス内の各データベースで使用される接続数です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | |||
インスタンス内の各 FE で使用される接続数です。 | ||||
インスタンスにおける接続使用率で、デフォルトでは使用率が最も高い FE を指します。 | ||||
クエリキュー | 実行を待機中だがまだ処理されていないクエリリクエストの数です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V3.0 以降でのみサポートされます。 | |
1 秒あたりにシステムキューに送信されるクエリリクエストの数です。 | ||||
1 秒あたりに待機状態から実行状態へと移行するクエリリクエストの数です。 | ||||
実行を開始したがまだ完了していないクエリの、実行状態ごとの 1 秒あたりのリクエスト数です。 | ||||
キューへの入隊から処理開始までの平均時間です。実際のクエリ実行時間は含まれません。 | ||||
自動レートリミットによるクエリキューの最大同時実行数です。 | 計算グループインスタンス | Hologres V3.1 以降でのみサポートされます。 | ||
I/O | 標準ストレージデータを読み取る際の I/O スループットです。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | なし | |
標準ストレージデータを書き込む際の I/O スループットです。 | 汎用インスタンス、計算グループインスタンス | |||
IA ストレージデータを読み取る際の I/O スループットです。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | |||
IA ストレージデータを書き込む際の I/O スループットです。 | 汎用インスタンス、計算グループインスタンス | |||
ストレージ | 標準ストレージの使用容量です。 | 汎用インスタンス、計算グループインスタンス | なし | |
標準ストレージ容量の使用率です。 | ||||
IA ストレージの使用容量です。 | ||||
IA ストレージ容量の使用率です。 | ||||
ゴミ箱が使用するストレージです。 | 汎用インスタンス、計算グループインスタンス | Hologres V3.1 以降でのみサポートされます。 | ||
フレームワーク | 各 FE のリプレイ遅延です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.2 以降でのみサポートされます。 | |
レプリケーションが有効化された後のシャードレプリカ間の同期遅延です。 | なし | |||
フォロワーインスタンスがプライマリインスタンスからデータを読み取る際に発生する遅延です。これはフォロワーインスタンスでのみ表示されます。 | ||||
ディザスタリカバリインスタンス間のファイル同期遅延です。 | 汎用インスタンス | |||
自動分析 | 各データベースで統計情報が未設定のテーブル数です。 | 汎用インスタンス、計算グループインスタンス | Hologres V2.2 以降でのみサポートされます。 | |
サーバーレスコンピューティング | サーバーレスコンピューティングを有効化した後の、サーバーレスコンピューティングにおける最長実行中クエリの実行時間です。 | 汎用インスタンス、計算グループインスタンス | Hologres V2.1 以降でのみサポートされます。 | |
サーバーレスコンピューティングリソースプールでキュー待ち中のクエリ数です。 | Hologres V2.2 以降でのみサポートされます。 | |||
実際に使用されたサーバーレスコンピューティングリソースと、最大割り当て可能リソースの比率です。 | ||||
バイナリログ | 1 秒あたりに消費される Binlog エントリ数です。 | 汎用インスタンス、フォロワーインスタンス、計算グループインスタンス | Hologres V2.2 以降でのみサポートされます。 | |
1 秒あたりに Binlog から消費されるバイト数です。 | ||||
各 FE で使用される WAL 送信者の数です。 | ||||
使用率が最も高い FE の WAL 送信者使用率です。 | ||||
コンピューティングリソース | 計算グループで、時刻ベースのスケーリングによって弾性的に追加されたコア数です。 | 計算グループインスタンス | Hologres V2.2.21 以降でのみサポートされます。 | |
計算グループで、オートスケーリングによって弾性的に追加されたコア数です。 | Hologres V4.0 以降でのみサポートされます。 | |||
ゲートウェイ | インスタンス内の各ゲートウェイの CPU 使用率です。 | 計算グループインスタンス | Hologres V2.0 以降でのみサポートされます。 | |
インスタンス内の各ゲートウェイのメモリ使用率です。 | Hologres V2.0 以降でのみサポートされます。 | |||
システムが 1 秒あたりに受け入れ、正常に確立できる新規接続の最大数です。 | Hologres V2.1.12 以降でのみサポートされます。 | |||
1 秒あたりにゲートウェイを経由してシステムに流入するデータ量です。 | Hologres V2.1 以降でのみサポートされます。 | |||
1 秒あたりにゲートウェイから外部システムへ送信されるデータ量です。 | Hologres V2.1 以降でのみサポートされます。 | |||
動的テーブル | インスタンス内のすべての動的テーブルにおけるリフレッシュ失敗 QPS です。このメトリックを使用して、リフレッシュプロセス全体の健全性を評価できます。 | Hologres V4.0.8 以降でのみサポートされます。 | ||
各動的テーブルの最新のアップストリームベーステーブルデータまたは期待されるタイムスタンプに対するレイテンシ(秒単位)です。このメトリックを使用して、データの新鮮さを評価できます。 | ||||
各動的テーブルの進行中のリフレッシュタスクの現在の所要時間(ミリ秒単位)です。このメトリックを使用して、リフレッシュサイクルが延長しているかどうかを検出できます。 | ||||
各動的テーブルの 1 分あたりのリフレッシュ失敗数です。このメトリックを使用して、各テーブルのリフレッシュ安定性を評価できます。 |
CPU
CPU 使用率に関連する以下のメトリックがあります。
インスタンス CPU 使用率 (%)
インスタンス CPU 使用率は、インスタンス全体の CPU 負荷を反映します。
アクティブなクエリがなくても、バックグラウンドプロセスや非同期コンパクションタスクが CPU リソースを消費することがあります。アイドル時の少量の CPU 使用率は正常です。
Hologres はマルチコア並列計算を効率的に活用します。単一のクエリでも CPU 使用率を 100 % まで押し上げることが多く、これは計算リソースの完全な活用を示します。
CPU 使用率が長期間にわたり 100 % 近くに留まる場合(例:3 時間連続で 100 %、または 12 時間連続で 90 % を超える)、インスタンスは高負荷状態にあります。CPU がシステムのボトルネックとなっている可能性があります。ワークロードおよびクエリを調査する際には、以下の質問を検討してください:
データ量の増加に伴い、大規模なオフラインデータインポート(INSERT)が実行されていますか?
高 QPS のクエリまたは書き込み操作がすべての CPU リソースを消費していますか?
上記のシナリオ内外でハイブリッドワークロードが実行されていますか?
ビジネス要件でフル CPU 使用率が必要な場合、より複雑なクエリや大規模なデータセットを処理するために、インスタンスのスペックアップを検討してください。
詳細については、「モニタリングメトリックのよくある質問」をご参照ください。
ワーカーノード CPU 使用率 (%)
ワーカーノード CPU 使用率は、各ワーカーノードの CPU 負荷を反映します。Hologres はインスタンスタイプに応じて、異なる数のワーカーノードを提供します。詳細については、「インスタンス管理」をご参照ください。
このメトリックは Hologres V1.1 以降でのみサポートされます。
すべてのワーカーノードで CPU 使用率が継続的に 100 % 近くに達している場合、インスタンスは高負荷状態にあります。ワークロードに応じて、リソース使用率の最適化またはインスタンスのスペックアップを検討してください。
一部のワーカーノードのみで CPU 使用率が高く、他のノードでは低い場合、リソースの偏り(スキュー)が発生しています。一般的な原因およびトラブルシューティング手順については、「モニタリングメトリックのよくある質問」をご参照ください。
クラスター CPU 使用率 (%)
計算グループ内の各クラスターの CPU 使用率です。
メモリ
メモリ使用率に関連する以下のメトリックがあります。
インスタンスメモリ使用率 (%)
インスタンスメモリ使用率は、全体的なメモリ消費量を反映します。
Hologres はメモリを予約します。アクティブなクエリがなくても、メタデータ、インデックス、データキャッシュがメモリにロードされ、取得および計算の高速化を図ります。したがって、アイドル時のゼロでないメモリ使用率は正常です。通常、インスタンスがアイドル状態のときは、30 % ~ 40 % の使用率が見込まれます。
メモリ使用率が 80 % に近づいて継続的に上昇する場合、メモリがボトルネックとなり、安定性またはパフォーマンスに影響を与える可能性があります。
QPS およびその他の指標とともにメモリ分布メトリックを使用することで、高メモリ使用量の原因を特定し、最適化を実施できます。詳細については、「メモリ不足問題のトラブルシューティングガイド」をご参照ください。
ワーカーノードメモリ使用率 (%)
ワーカーノードメモリ使用率は、各ワーカーノードのメモリ負荷を反映します。Hologres はインスタンスタイプに応じて、異なる数のワーカーノードを提供します。詳細については、「インスタンス管理」をご参照ください。
このメトリックは Hologres V1.1 以降でのみサポートされます。
すべてのワーカーノードでメモリ使用率が継続的に 80 % 近くに達している場合、インスタンスは高負荷状態にあります。ワークロードに応じて、リソース使用率の最適化またはインスタンスのスペックアップを検討してください。
一部のワーカーノードのみでメモリ使用率が高く、他のノードでは低い場合、リソースの偏り(スキュー)が発生しています。一般的な原因およびトラブルシューティング手順については、「モニタリングメトリックのよくある質問」をご参照ください。
計算グループの詳細なメモリ使用率 (%)
Hologres はメモリを、システム(System)、メタ(Meta)、キャッシュ(Cache)、クエリ(Query)、バックグラウンドプロセス(Background)の以下のカテゴリに分割します。V2.0.15 以降では、メモリ分布メトリックを使用して使用パターンを分析し、効果的に最適化できます。主なカテゴリは以下のとおりです:
システム:Holohub、ゲートウェイ、フロントエンド(FE)などのシステムコンポーネントが使用するメモリです。FE には FE Master および FE Query が含まれるため、システムメモリはクエリ活動に応じて変動します。
キャッシュ:キャッシュに使用されるメモリです。以下を含みます:
SQL 関連のキャッシュ(例:結果キャッシュ、ブロックキャッシュ)。これらのキャッシュはクエリ実行に応じて動的に変化します。キャッシュヒット率が高いほど、クエリパフォーマンスが向上します。たとえば、EXPLAIN ANALYZE の Physical read bytes フィールドの値が小さいほど、キャッシュヒット率が高くなります。キャッシュにはサイズ制限があります。
メタキャッシュ:スキーマメタデータおよびファイルメタデータ。クエリ実行の高速化のため、Hologres は関連するメタデータをキャッシュに事前にロードし、コールドアクセスを削減してパフォーマンスを向上させます。
キャッシュサイズは固定されており、通常はインスタンスの合計メモリの約 30 % です。インスタンスがアイドル状態であっても、一部のキャッシュ使用量(主にメタ用)は維持されます。
メタ:メタデータおよびファイルに使用されるメモリです。Hologres はラジーオープンモードを使用しており、頻繁にアクセスされるメタデータはメモリに保持されますが、あまりアクセスされないメタデータは保持されません。このモードにより、メモリ圧力を軽減します。メタ使用率は合計メモリの 30 % 以下に保つことを推奨します。メタ使用率が高い場合は、多数のファイルまたはパーティションテーブルが存在することを示唆します。テーブル管理については、「テーブル統計情報の概要と分析」をご参照ください。
クエリ:SQL 実行中に消費されるメモリです。使用量はクエリの複雑さおよび同時実行性に比例します。Fixed Plan、HQE、SQE が使用するメモリを含みます。
クエリメモリは弾性的に割り当てられます。ワーカーあたりの最小メモリは 20 GB であり、最大値は利用可能な空きメモリに依存します。他のカテゴリでのメモリ使用量が増加すると、クエリに割り当て可能な弾性メモリが減少します。
クエリメモリ使用量が高い、または OOM(Out of Memory)イベントが発生する場合、複雑なクエリまたは高い同時実行性が原因である可能性があります。クエリの最適化またはインスタンスのスペックアップを検討してください。詳細については、「クエリパフォーマンスの最適化」をご参照ください。
バックグラウンド:コンパクションやフラッシュなどのバックグラウンドタスクが使用するメモリです。バックグラウンドメモリ使用量は通常低く、5 % 未満です。インデックス変更、バルク書き込み、または更新時に一時的に増加し、タスク完了後に低下します。
Memtable:インメモリテーブルに使用されるメモリです。Memtable はリアルタイム書き込み、更新、または削除後のデータを格納します。Memtable 使用量は通常 5 % 未満です。
QE クエリメモリ使用量 (バイト)
HQE、SQE、その他の XQE エンジンで実行されるクエリが使用するメモリ量です。
このメトリックは Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。
メモリ分布では、クエリメモリ使用量は QE クエリメモリ使用量を上回ります。
QE クエリメモリ使用量は、クエリの複雑さを評価するのに役立ちます。使用量が高いほど、より複雑なクエリであり、より多くのメモリを必要とすることを示します。
QE クエリメモリ使用率 (%)
QE クエリメモリ使用率は、インスタンス負荷を評価するのに役立ちます。使用率が高いと OOM エラーが発生する可能性があります。クエリの最適化またはインスタンスのスペックアップを検討してください。
このメトリックは Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。
クラスターメモリ使用率 (%)
計算グループ内の各クラスターのメモリ使用率です。
クエリ QPS と RPS
クエリ QPS (回数/秒)
クエリ QPS は、インスタンス全体の 1 秒あたりの SQL 文実行数の平均値です。SELECT、INSERT、UPDATE、DELETE、UTILITY、UNKNOWN 文を含みます。クエリ QPS ≥ QE クエリ QPS + FixedQE クエリ QPS。
QE クエリ QPS (回数/秒)
QE エンジンで 1 秒あたりに実行されるクエリ数です。SELECT、INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
FixedQE クエリ QPS (回数/秒)
FixedQE エンジン(Fixed Plan パス、旧 SDK)で 1 秒あたりに実行されるクエリ数です。SELECT、INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
DML RPS (回数/秒)
DML RPS は、1 秒あたりのデータレコードのインポートまたは更新数の平均値です。INSERT、UPDATE、DELETE 文を含みます。したがって、DML RPS = QE DML RPS + FixedQE DML RPS。
QE DML RPS (回数/秒)
QE エンジンで 1 秒あたりにインポートまたは更新されるデータレコード数です。INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
一般的な QE シナリオは以下のとおりです:
MaxCompute または OSS 外部テーブルからのバッチインポートまたは更新。
COPY を使用したバッチ書き込みまたは更新。
Hologres テーブル間のバッチインポート。
FixedQE DML RPS (回数/秒)
FixedQE エンジン(インスタンス内、旧 SDK 名)で実行される INSERT、UPDATE、DELETE SQL 文により、1 秒あたりにインポートまたは更新されるデータレコード数です。具体的には:
このメトリックは Hologres V2.2 以降でのみサポートされます。
一般的な FixedQE シナリオは以下のとおりです:
Data Integration(DataX)を使用したオフライン書き込み。
SQL または JDBC を使用した書き込み(
INSERT INTO VALUES())。
クエリレイテンシ
クエリレイテンシ (ミリ秒)
インスタンス内のすべてのクエリの平均レイテンシです。SELECT、INSERT、UPDATE、DELETE、UTILITY、UNKNOWN 文を含みます。クエリレイテンシ ≥ MAX(QE クエリレイテンシ, FixedQE クエリレイテンシ)。
QE クエリレイテンシ (ミリ秒)
QE エンジンで実行されるクエリの平均レイテンシです。SELECT、INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
QE クエリレイテンシの増加をトラブルシューティングするには、最適化所要時間、クエリ開始所要時間、次の結果取得所要時間、QE QPS を確認できます。
FixedQE クエリレイテンシ (ミリ秒)
FixedQE エンジンで実行されるクエリの平均レイテンシです。SELECT、INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
FixedQE クエリレイテンシが高くなる理由としては、以下が考えられます:
一時的なピーク:HQE ロックを示唆する場合があります。FixedQE バックエンドロック待ち時間が増加しているかどうかを確認できます。増加している場合は、「クエリインサイト」を使用して、ロックをかけているクエリを特定できます。
継続的な高レイテンシ:非最適なテーブル設計または複雑なクエリの干渉が原因である可能性があります。「Blink および Flink の一般的な問題と診断」をご参照ください。
最適化フェーズ所要時間 (ミリ秒)
クエリの最適化フェーズに費やされる時間です。このフェーズでは、オプティマイザーが SQL 文を解析し、実行エンジン向けの物理実行計画を生成します。
このメトリックは Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。
最適化所要時間が長い場合、クエリが複雑であることを示唆します。パラメーターのみが異なるクエリの場合、準備済みステートメント(Prepared Statements)を使用して最適化オーバーヘッドを削減できます。詳細については、「JDBC」をご参照ください。
クエリ開始フェーズ所要時間 (ミリ秒)
実際のクエリ実行前の初期化に費やされる時間です。これにはロックおよびスキーマバージョンの整合性確保が含まれます。
このメトリックは Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。
クエリ開始所要時間が長い場合、ロック待ちまたは高い CPU 使用率が原因であることが多いです。「実行計画」を使用して、さらに詳細な分析を行えます。
次のフェーズの所要時間の取得 (ミリ秒)
クエリ開始フェーズ終了からすべての結果が返されるまでの時間です。これには計算および結果の配信が含まれます。
このメトリックは Hologres V2.0.44 以降および V2.1.22 以降でのみサポートされます。
次の結果取得所要時間が長い場合、複雑な計算を反映していることが多いです。QE メモリ使用量および QE QPS と相関させて確認できます。異常が見られない場合、クライアントが結果の受信を待っているだけかもしれません。
クエリ P99 レイテンシ (ミリ秒)
インスタンス内のすべてのクエリの P99 レイテンシです。SELECT、INSERT、UPDATE、UTILITY、およびシステムクエリを含みます。
このインスタンスにおける最長実行中クエリの実行時間 (ミリ秒)
インスタンスにおける最長実行中クエリの実行時間です。このメトリックは、現在時点での最長実行中クエリを報告します。SELECT、INSERT、UPDATE、DELETE、UTILITY、UNKNOWN 文を含みます。
このメトリックは Hologres V1.1 以降でのみサポートされます。
Hologres は分散システムであり、インスタンスタイプに応じてワーカーノードの数が異なります。クエリはワーカーにランダムに分散されます。このメトリックは、すべてのワーカーにおける最長実行中クエリを報告します。たとえば、ワーカーがそれぞれ 10 分、5 分、30 秒のクエリを実行している場合、報告される実行時間は 10 分となります。
このメトリックを「実行中のクエリ」または「スロークエリログ」と組み合わせることで、クエリ実行時間の評価、長時間実行クエリの診断、デッドロックまたはハングの解決が可能です。
メトリックは 1 分ごとに報告されます。したがって、「現在の実行時間」はクエリ開始後わずかに経過した時点で始まります。このメトリックは異常検出を支援し、長時間実行クエリをすばやく特定するのに役立ちますが、正確なタイミングを提供するものではありません。
失敗したクエリ QPS
失敗クエリ QPS(ミリ秒)
失敗クエリカウントは、インスタンス内で 1 秒あたりに失敗する SQL 文の平均数です。SELECT、INSERT、UPDATE、DELETE、UTILITY、UNKNOWN 文を含みます。失敗クエリ QPS ≥ QE 失敗クエリ QPS + FixedQE 失敗クエリ RPS。
失敗クエリの種別および頻度を使用して、「スロークエリログ」から失敗クエリを特定できます。その後、根本原因を分析して可用性を向上させることができます。
QE 失敗クエリ QPS(ミリ秒)
QE エンジンで実行されるクエリの 1 秒あたりの失敗数です。SELECT、INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
FixedQE 失敗クエリ QPS(ミリ秒)
FixedQE エンジンで実行されるクエリの 1 秒あたりの失敗数です。SELECT、INSERT、UPDATE、DELETE 文を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
ロック
FE 最大ロック待ち時間 (ミリ秒)
Hologres は分散システムです。複数の FE ノードが SQL 文の解析、ディスパッチ、およびルーティングを担当します。複数の接続が同じ FE にルーティングされ、CREATE や DROP などの同一テーブルに対する DDL 操作を実行すると、FE ロックが発生します。このメトリックは、各 FE が DDL ロックを待つ時間を示します。
このメトリックは Hologres V2.2 以降でのみサポートされます。
DDL 操作は常にロック待ち時間を発生させます。FE ロック待ち時間が 5 分を超えており、かつ FE リプレイ遅延も急増している場合、DDL 操作が停止している可能性があります。「クエリの管理」を使用して、長時間実行中のクエリを特定し、終了できます。
FixedQE バックエンドロック待ち時間 (ミリ秒)
HQE を使用する INSERT、DELETE、UPDATE クエリはテーブルロックを取得します。FixedPlan を使用するクエリは行ロックを取得します。FixedQE バックエンドロック待ち時間は、FixedPlan クエリが同一テーブルの HQE クエリが保持するテーブルロックを待っているときに増加します。
このメトリックは Hologres V2.2 以降でのみサポートされます。
FixedQE ロック待ち時間が高い場合、「スロークエリログ」を使用して、遅い FixedQE クエリを特定できます。その後、「クエリインサイト」を使用して、ロックをかけている HQE クエリを特定できます。
インスタンスのバックエンドロック待ち時間合計 (ミリ秒)
インスタンス内の INSERT、DELETE、UPDATE クエリの合計ロック待ち時間です。FixedQE および HQE のロック待ち時間を含みます。
このメトリックは Hologres V2.2 以降でのみサポートされます。
ロック待ち時間が長い場合、「スロークエリログ」を使用して、遅い INSERT、DELETE、UPDATE クエリを特定できます。その後、「クエリインサイト」を使用して、ロックをかけている HQE クエリを特定できます。
接続
接続数 (回数)
Hologres はインスタンスタイプに応じてデフォルトの接続制限を設定します。詳細については、「インスタンス管理」をご参照ください。接続数は、アクティブ、アイドル、アイドル・イン・トランザクションの各状態にあるすべてのアクティブ接続を表します。「クエリの管理」を使用して、現在の使用状況を確認できます。利用可能な接続数が少ない場合は、アイドル接続を終了してください。
データベース別接続数 (回数)
データベースごとに集計された接続数です。各データベースの接続使用状況を評価するために使用できます。以下の点にご注意ください:
FE 別接続数 (回数)
FE ごとに集計された接続数です。各 FE の接続使用状況を評価するために使用できます。以下の点にご注意ください:
使用率が最も高い FE の接続使用率 (%)
このメトリックは、すべての FE(フロントエンド)ノードの中で最も高い接続使用率を報告します:Max(frontend_connection_used_rate)。これにより、任意の FE ノードで接続数が制限に近づいていることを検出し、接続障害を防止できます。FE ノードはラウンドロビン方式のロードバランシングを使用しており、新規接続は FE 間で均等に分散されます。「クエリの管理」を使用して、現在の使用状況を確認できます。利用可能な接続数が少ない場合は、アイドル接続を終了してください。
クエリキュー
キュー待ちクエリ数 (回数)
実行を待機中だがまだ処理されていないクエリリクエストの数です。
このメトリックは Hologres V3.0 以降でのみサポートされます。
クエリキュー登録 QPS (回数/秒)
1 秒あたりにシステムキューに送信されるクエリリクエストの数です。これを使用して、システム負荷およびクエリ頻度を把握できます。
このメトリックは Hologres V3.0 以降でのみサポートされます。
キュー待ちから実行中へのトランジション QPS (回数/秒)
1 秒あたりに待機状態から実行状態へと移行するクエリリクエストの数です。
このメトリックは Hologres V3.0 以降でのみサポートされます。
実行開始済みクエリの状態別 QPS (回数/秒)
クエリキュー内のクエリの状態ごとの QPS です。状態には以下が含まれます:
kReadyToRun(実行可能)
kQueueTimeout(キューのタイムアウトにより失敗)
kCanceled(キャンセルにより失敗)
kExceedConcurrencyLimit(同時実行数制限により失敗)
このメトリックは Hologres V3.0 以降でのみサポートされます。
クエリキューの平均待ち時間 (ミリ秒)
キューへの入隊から処理開始までの平均時間(ミリ秒単位)です。実際のクエリ実行時間は含まれません。
このメトリックは Hologres V3.0 以降でのみサポートされます。
クエリキュー自動レートリミットの最大同時実行数 (回数)
自動レートリミットによるクエリキューの最大同時実行数です。
このメトリックは Hologres V3.1 以降でのみサポートされます。
I/O
I/O スループットは、インスタンスの読み取りおよび書き込みボリュームを測定します。これはディスク I/O アクティビティを反映し、システム負荷の評価および問題の診断に役立ちます。注: 1 GiB = 1024 MiB = 1024 × 1024 KiB。
標準ストレージ(ホット):I/O スループットは固定されておらず、主に CPU 負荷に依存します。
IA ストレージクラス(コールドストレージ)の場合、最大 I/O スループットは
80 MB/s * (コア数 / 16)です。
標準 I/O 読み取りスループット (バイト/秒)
クエリが標準ストレージデータを読み取る際の I/O スループットです。
標準 I/O 書き込みスループット (バイト/秒)
クエリが標準ストレージデータを書き込む際の I/O スループットです。
低頻度 I/O 読み取りスループット (バイト/秒)
クエリが IA ストレージデータを読み取る際の I/O スループットです。
低頻度 I/O 書き込みスループット (バイト/秒)
クエリが IA ストレージクラスにデータを書き込む際の I/O スループットを表します。
ストレージ
インスタンスデータが使用する論理ディスク領域で、すべてのデータベースストレージ(ゴミ箱を含む)の合計です。注:1 GiB = 1024 MiB = 1024 × 1024 KiB。Hologres のストレージ使用量は、ハードキャップなしで継続的に増加します。
サブスクリプションインスタンスの場合、購入した容量を超えたストレージは従量課金で自動的に課金されます。これはシステムの安定性または可用性に影響しません。
ストレージ容量を超えた後は、不要なデータを削除するか、ストレージをアップグレードして、不要なストレージコストを回避する必要があります。節約したコストは、追加の計算リソースの資金源として活用できます。
テーブルおよびデータベースのストレージサイズおよび詳細を確認するには、「pg_relation_size」関数を使用できます。また、細かい粒度でのテーブル管理には、「テーブル情報」を使用できます。
標準ストレージ使用容量 (バイト)
標準ストレージで使用される容量です。使用量が購入した容量を超える場合は、ストレージのスペックアップを検討してください。
標準ストレージ使用率 (%)
標準ストレージ容量の使用率です。使用量が購入した容量を超える場合は、ストレージのスペックアップを検討してください。
IA ストレージ使用容量 (バイト)
IA ストレージで使用される容量です。使用量が購入した容量を超える場合は、ストレージのスペックアップを検討してください。
IA ストレージ使用率 (%)
IA ストレージ容量の使用率です。使用量が購入した容量を超える場合は、ストレージのスペックアップを検討してください。
ゴミ箱ストレージ使用量 (バイト)
Hologres は V3.1 以降でテーブルゴミ箱をサポートします。DROP コマンドで削除されたテーブルは、保存期間が経過するまでゴミ箱に残ります。これにより、誤って削除されたテーブルを復元できます。ゴミ箱内のテーブルは、引き続きインスタンスのストレージを消費します。各データベースのゴミ箱使用量を監視してください。頻繁なテーブル削除によりゴミ箱使用量が高くなる場合、テーブルを削除する際にゴミ箱をスキップするように設定できます。
フレームワーク
FE リプレイ遅延 (ミリ秒)
Hologres は分散システムです。複数のフロントエンド(FE)ノードが SQL 解析、ディスパッチ、およびルーティングを処理します。DDL 操作の場合、Hologres はまず 1 つの FE で操作を実行し、その後他の FE でリプレイします。以下の点にご注意ください:
FE リプレイには時間がかかります。ミリ秒または秒単位の遅延は正常です。
FE のリプレイ遅延が数分を超える場合、多数の DDL 操作によりリプレイプロセスが過負荷になっている可能性があります。遅延がさらに増加し続ける場合、クエリが停止している可能性があります。「hg_stat_activity」を使用して、長時間実行中のクエリを特定し、終了できます。
このメトリックは Hologres V2.2 以降でのみサポートされています。
シャードマルチレプリカ同期遅延 (ミリ秒)
レプリケーション が有効化された後のシャードレプリカ間の同期遅延です。
シャードレプリカの典型的な遅延はミリ秒単位です。
大量のデータ書き込み、更新、または頻繁な DDL 操作により、同期遅延が増加する可能性があります。
プライマリ-フォロワー同期遅延 (ミリ秒)
フォロワーインスタンスがプライマリインスタンスからデータを読み取る際に発生する遅延(ミリ秒単位)です。以下の点にご注意ください:
このメトリックは、プライマリインスタンスではなくフォロワーインスタンスでのみ表示されます。
データは、フォロワーインスタンスがプライマリインスタンスにバインドされた直後(初期値は 0 ms)にのみ表示されます。プライマリインスタンスで書き込みが発生すると、同期遅延が変動します。
通常の同期遅延はミリ秒単位です。プライマリ DDL 操作などによる一時的なジッターは、無視しても安全です。数秒を超える継続的な高遅延は、インスタンス負荷の高さまたはリソース不足を示唆します。CPU およびメモリ使用率を確認し、必要に応じてインスタンスのスペックアップを検討してください。
再起動またはアップグレード中に同期遅延が数分にまで急増し、その後自動的に回復することがあります。
クロスインスタンスファイル同期遅延 (ミリ秒)
ディザスタリカバリインスタンス間のファイル同期遅延です。このメトリックは、フォロワーインスタンス(読み取り専用フォロワー)でのみ表示されます。
自動分析
データベース別統計情報未設定テーブル数 (回数)
各データベースで統計情報が未設定のテーブル数です。
このメトリックは Hologres V2.2 以降でのみサポートされます。
Hologres V2.0 以降では、Auto Analyze がデフォルトで実行されます。テーブル作成後、またはバルク書き込みまたは更新後、統計情報が遅れることがあります。まずは短時間、統計情報を観察してください。
データベースで数時間から数日間にわたり統計情報が継続的に欠落している場合、Auto Analyze がトリガーされていない可能性があります。「HG_STATS_MISSING ビュー」を使用して、影響を受けるテーブルを一覧表示し、ANALYZE コマンドを手動で実行して統計情報を更新できます。
データベースで数時間から数日間にわたり統計情報が継続的に欠落している場合、Auto Analyze がトリガーされていない可能性があります。テーブル統計情報を確認し、ANALYZE コマンドを手動で実行してください。詳細については、「ANALYZE および AUTO ANALYZE」をご参照ください。
サーバーレスコンピューティング
サーバーレスコンピューティングにおける最長実行中クエリの実行時間 (ミリ秒)
Hologres はサーバーレスコンピューティングをサポートしています。特定のクエリを専用のサーバーレスコンピューティングリソースプールで実行することで、メインインスタンスから分離し、高速な実行を保証できます。
このメトリックは Hologres V2.1 以降でのみサポートされます。
このメトリックは、サーバーレスコンピューティングにおける最長実行中クエリを示します。「hg_stat_activity」を使用して、サーバーレスクエリのステータスを確認できます。
サーバーレスコンピューティングクエリキュー数 (回数)
サーバーレスコンピューティングリソースプールでキュー待ち中のクエリ数です。
このメトリックは Hologres V2.2 以降でのみサポートされます。
サーバーレスコンピューティングリソース割り当て使用率 (%)
指定された時間における、実際に使用されたサーバーレスコンピューティングリソースと、最大割り当て可能リソースの比率です。
このメトリックは Hologres V2.2 以降でのみサポートされます。
バイナリログ
Binlog 消費レート (回数/秒 または バイト/秒)
Hologres はHologres Binlog のサブスクライブをサポートしています。Binlog はリアルタイムのデータ階層化を可能にし、データ転送を高速化します。
Binlog 消費レート (回数/秒)
1 秒あたりに消費される Binlog エントリ数です。このメトリックは Hologres V2.2 以降でのみサポートされます。
Binlog 消費レート (バイト/秒)
1 秒あたりに Binlog から消費されるバイト数です。フィールドが大きい、またはデータ量が多いほど、バイト数は増加します。このメトリックは Hologres V2.2 以降でのみサポートされます。
WAL 送信者数と使用率
通常の接続と同様に、JDBC を使用して Binlog を消費する場合、各テーブルの各シャードが 1 つの WAL 送信者接続を消費します。WAL 送信者接続は通常の接続とは独立しています。WAL 送信者の数にはデフォルトの制限があります。
FE 別 WAL 送信者数 (回数)
FE ノードごとに使用される WAL 送信者の数です。
使用率が最も高い FE の WAL 送信者使用率 (%)
最も多くの WAL 送信者を使用するフロントエンド (FE) の使用率です。
両方のメトリックを使用して、WAL 送信者の使用状況を評価できます。使用率が制限に達した場合は、トラブルシューティングについて「JDBC 経由で Hologres Binlog を消費する」をご参照ください。
計算リソース
計算グループの弾性コア数 (回数)
Hologres 計算グループインスタンスは、時刻ベースの弾力性をサポートしています。詳細については、「時刻ベースの弾力性 (ベータ版)」をご参照ください。このメトリックは、時刻ベースの弾力性を使用して追加されたコア数を示します。
計算グループの自動弾性コア数 (回数)
Hologres 計算グループインスタンスは、自動弾力性をサポートしています。詳細については、「マルチクラスターと自動弾力性 (ベータ版)」をご参照ください。このメトリックは、自動弾力性を使用して追加されたコア数を示します。
ゲートウェイ
ゲートウェイ CPU 使用率 (%)
インスタンス内の各ゲートウェイの CPU 使用率です。
このメトリックは Hologres V2.0 以降でのみサポートされます。
ゲートウェイはラウンドロビン方式でトラフィックを転送します。新規接続がなくても CPU 使用率は発生します。
Hologres V2.2.22 以降では、ゲートウェイはデフォルトでより多くのワーカースレッドを起動して新規接続の処理を改善するため、CPU 使用率が増加します。
ゲートウェイメモリ使用率 (%)
インスタンス内の各ゲートウェイのメモリ使用率です。
このメトリックは Hologres V2.0 以降でのみサポートされます。
ゲートウェイ新規接続要求数/秒 (回数/秒)
システムが 1 秒あたりに受け入れ、正常に確立できる新規接続の最大数です。
このメトリックは Hologres V2.1.12 以降でのみサポートされます。
単一のゲートウェイは、1 秒あたり約 100 の新規接続を処理します。
新規接続要求数が
100 × ゲートウェイ数に近づくと、ゲートウェイが新規接続処理のボトルネックになります。接続プールを設定するか、ゲートウェイの数をスケールアップできます。
ゲートウェイインバウンドトラフィックレート (B/秒)
1 秒あたりにゲートウェイを経由してシステムに流入するデータ量です。
このメトリックは Hologres V2.1 以降でのみサポートされます。
インバウンドトラフィックが
200 MiB/s × ゲートウェイ数に近づくと、ゲートウェイのネットワーク容量がボトルネックになります。ゲートウェイの数をスケールアップできます。
ゲートウェイアウトバウンドトラフィックレート (B/秒)
1 秒あたりにゲートウェイから外部システムへ送信されるデータ量です。
このメトリックは Hologres V2.1 以降でのみサポートされます。
アウトバウンドトラフィックが
200 MiB/s × ゲートウェイ数に近づくと、ゲートウェイのネットワーク容量がボトルネックになります。ゲートウェイの数をスケールアップできます。
動的テーブルのモニタリングとアラート
Hologres V4.0.8 以降、動的テーブルはリフレッシュタスクをより適切に管理するためのモニタリングメトリックを提供します。詳細については、「モニタリングとアラート」をご参照ください。
一般的なモニタリングメトリクスの問題
「モニタリングメトリックのよくある質問」トピックでは、一般的な問題がリストされています。これにより、問題をより迅速に診断し、根本原因を特定して修正を適用できるため、セルフサービス機能が向上します。
モニタリングメトリックのアラート
CloudMonitor でモニタリングメトリックのアラートを設定することで、異常を早期に検出し、ビジネスへの影響を最小限に抑えることができます。詳細については、「CloudMonitor」をご参照ください。