メトリクスダッシュボード
Lakebaseアプリのメトリクスダッシュボードでは、システムメトリクスとデータベースメトリクスをモニタリングするためのグラフを提供しています。これを開くには、Lakebaseアプリのサイドバーで [モニタリング] をクリックし、 [メトリクス] tabを選択します。監視可能なメトリクスには、RAM使用量、CPU使用量、接続数、データベースサイズ、デッドロック、行操作、レプリケーション遅延、キャッシュパフォーマンス、ワーキングセットサイズなどがあります。

ダッシュボードには、選択したブランチのメトリクスとコンピュートが表示されます。 ドロップダウン メニューを使用して、別のブランチまたはコンピュートのメトリクスを表示します。 定義済みの期間 ( 過去 1 時間 、 過去 1 日 、 過去 7 日間 ) から選択するか、または [その他] を選択して追加オプション ( 過去 3 時間 、 過去 6 時間 、 過去 12 時間 、 過去 2 日間 、または カスタム ) を選択できます。 「更新」 ボタンを使用して、表示されているメトリクスを更新します。
非アクティブなコンピュートを理解する
グラフにデータが表示されていない場合は、ゼロにスケールするためにコンピュートが非アクティブになっている可能性があります。
コンピュートが非アクティブな場合、データをレポートするにはアクティブなコンピュートが必要であるため、メトリクス値は 0 に低下します。 非アクティブ期間はグラフに斜めの線パターンとして表示されます。
グラフにデータが表示されない場合は、別の期間を選択するか、使用状況データがさらに収集された後に戻ってみてください。
RAM

RAM グラフには、選択したコンピュートの割り当て済み RAM と経時的な使用状況が表示されます。
これには次のメトリクスが含まれます。
割り当て済み : 割り当てられた RAM の量。
RAM はコンピュートまたはオートスケール構成のサイズに応じて割り当てられます。 オートスケールを使用すると、負荷に応じてコンピュートがスケールアップまたはスケールダウンするのに応じて、割り当てられた RAM が増減します。 ゼロへのスケールが有効になっており、コンピュートが非アクティブ状態の後にアイドル状態に移行すると、割り当てられた RAM は 0 に低下します。
使用済み : 使用されている RAM の量。
グラフには RAM の使用状況を示す線がプロットされます。ラインが割り当てられた最大 RAM に定期的に達する場合は、コンピュート サイズを増やすことを検討してください。 コンピュートのサイズ オプションについては、 「コンピュートのサイズ設定」を参照してください。
キャッシュ済み : 以前のクエリと操作によってメモリにキャッシュされたデータの量。
CPU

CPU グラフは、選択したコンピュートの割り当て済みCPUと使用量の経時変化を示します。
割り当て済み : 割り当てられた CPU の量。
CPU はコンピュートまたはオートスケール構成のサイズに応じて割り当てられます。 オートスケールを使用すると、負荷に応じてコンピュートがスケールアップまたはスケールダウンするのに応じて、割り当てられた CPU が増減します。 スケール トゥ ゼロが有効になっていて、コンピュートが非アクティブになった後にアイドル状態に移行すると、割り当てられた CPU は 0 に低下します。
Used : 使用された CPU の量 (コンピュート単位 (CU) 単位)。
プロットされた線が割り当てられた CPU の最大数に定期的に達する場合は、コンピュートのサイズを増やすことを検討してください。 コンピュートのサイズ オプションについては、 「コンピュートのサイズ設定」を参照してください。
Postgres接続数

Postgres 接続数 グラフには、選択したコンピュートの最大接続数、アイドル接続数、アクティブ接続数、および時間の経過に伴う合計接続数が表示されます。
Active : 選択したコンピュートのアクティブな接続の数。
アクティブな接続をモニタリングすると、データベースのワークロードを理解するのに役立ちます。 アクティブな接続の数が一貫して多い場合、データベースに大きな負荷がかかっている可能性があり、クエリの応答時間が遅くなるなどのパフォーマンスの問題が発生する可能性があります。
Idle : 選択したコンピュートのアイドル接続の数。
アイドル接続は開いていますが、現在使用されていません。通常、アイドル状態の接続が少数であれば無害ですが、接続数が多いと不要なリソースが消費され、アクティブな接続のためのスペースが少なくなり、パフォーマンスに影響する可能性があります。不要なアイドル接続を識別して閉じると、リソースを解放するのに役立ちます。
Total : 選択したコンピュートのアクティブ接続とアイドル接続の合計。
Max : コンピュートのサイズで許可される同時接続の最大数。
最大ラインは、接続制限にどれだけ近づいているかを視覚的に確認するのに役立ちます。合計接続数が最大ラインに近づいた場合は、次の点を考慮してください。
- より多くの接続を可能にするためにコンピュートのサイズを増やす
- アプリケーションの接続管理の最適化(接続プールの使用、未使用の接続の迅速なクローズ、長時間アイドル状態の接続の回避)
接続制限は Postgres のmax_connections設定によって定義され、コンピュートのサイズ構成によって決まります。 コンピュートのサイズ別の最大接続数の完全なリストについては、 「コンピュートの仕様」を参照してください。
データベースのサイズ

Database size グラフには、選択したデータベース、または選択したBranch上のすべてのデータベースの実際のデータサイズが表示されます。
データベースがストレージ容量の上限に達すると、書き込みパフォーマンスが低下します。
論理サイズは、テーブルやインデックスなど、Postgres によって報告されるデータのサイズを表します。
データベース サイズ メトリクスは、コンピュートがアクティブな間のみ表示されます。 コンピュート がアイドル状態の場合、データベース サイズの値は報告されず、データが存在する場合でもグラフにはゼロが表示されます。
デッドロック

デッドロック グラフは、時間の経過に伴うデッドロックの数を示します。
デッドロックは、2 つ以上のトランザクションが同時に、他のトランザクションに必要なリソースを保持して互いをブロックし、依存関係のサイクルを作成してトランザクションの進行を妨げる場合に発生します。これにより、パフォーマンスの問題やアプリケーション エラーが発生する可能性があります。Postgres のデッドロックの詳細については、デッドロックに関する PostgreSQL のドキュメントを参照してください。
行

Rows グラフは、削除、更新、挿入された行数の推移を示します。行メトリクスは、コンピュートがResetされますたびにゼロにResetされます。
時間の経過に伴って挿入、更新、削除された行を追跡すると、データベースのアクティビティ パターンを把握できます。 このデータを使用すると、挿入の急増や異常な数の削除などの傾向や不規則性を特定できます。
行メトリクスは行レベルの変更 (INSERT、 UPDATE 、DELETE) のみをキャプチャし、TRUNCATE などのテーブルレベルの操作は除外します。
コンピュートキャッシュヒット率

コンピュートキャッシュヒット率 グラフは、ストレージではなくコンピュートキャッシュから提供された読み取りリクエストの割合を示しています。ストレージから提供される読み取りはコストが高く、クエリーのパフォーマンスが低下する可能性があります。
OLTPワークロードの場合は、99%以上のキャッシュヒット率を目指してください。レートが99%未満の場合、ワーキングセットがメモリに収まらず、パフォーマンスが低下する可能性があります。キャッシュヒット率を向上させるには、コンピュートサイズを大きくしてコンピュートキャッシュを拡張してください。理想的な比率はワークロードによって異なります。大きなテーブルのシーケンシャルスキャンを行うワークロードでは、比率をわずかに低くしても許容範囲のパフォーマンスが得られる場合があります。
:::info コンピュートキャッシュについて
コンピュート キャッシュは、頻繁にアクセスされるデータをコンピュートのローカルメモリに保存するため、ストレージから読み取る必要性が低減されます。コンピュート キャッシュは、コンピュートの RAM の最大 75% を使用できます。例えば、8 GB の RAM を持つコンピュートには、6 GB のコンピュート キャッシュがあります。最適なパフォーマンスを得るには、ワーキングセットがコンピュート キャッシュ内に収まるようにコンピュートのサイズを設定してください。
:::
ワーキングセットのサイズ

ワーキングセットとは、特定の時間間隔でアクセスされるPostgresページ(リレーションデータおよびインデックス)の個別のセットのサイズです。最適なパフォーマンスと一貫したレイテンシーを実現するには、ワーキングセットがコンピュートキャッシュに収まり、迅速にアクセスできるようにコンピュートのサイズを設定してください。
ワーキングセットサイズ グラフは、指定された間隔でアクセスされたデータ量(アクセスされた一意のページ数 × ページサイズとして計算)を可視化します。グラフには以下が表示されます:
5m (5 分) : 過去 5 分間にアクセスされたデータ。
15m (15 分) : 過去 15 分間にアクセスされたデータ。
1h (1 時間) : 過去 1 時間にアクセスされたデータ。
コンピュートキャッシュサイズ : コンピュートのサイズによって決定される、コンピュートキャッシュのサイズ。コンピュートサイズが大きいほど、キャッシュも大きくなります。
最適なパフォーマンスを得るには、コンピュートキャッシュが、特定の時間間隔におけるワーキングセットサイズよりも大きい必要があります。ワーキングセットサイズがコンピュートキャッシュサイズよりも大きい場合は、コンピュートの最大サイズを増やしてキャッシュヒット率を向上させてください。コンピュートのサイズ設定オプションと仕様については、コンピュート仕様を参照してください。
ワークロードのパターンが時間の経過とともに大きく変化しない場合は、1時間のワーキングセットサイズとコンピュートキャッシュサイズを比較し、ワーキングセットサイズがコンピュートキャッシュサイズよりも小さいことを確認してください。
レプリケーション遅延バイト

Replication delay bytes グラフは、プライマリコンピュートから送信されたものの、レプリカにまだ適用されていないデータの合計サイズ(バイト単位)を示します。値が大きいほど、レプリケート待ちのデータのバックログが多いことを示しており、レプリケーションの throughput やレプリカ上のリソースの可用性に問題がある可能性があります。
このグラフは、[コンピュート] ドロップダウン メニューからリード レプリカ コンピュートを選択した場合にのみ表示されます。 読み取りレプリカの詳細については、 「読み取りレプリカ」を参照してください。
レプリケーション遅延秒数

レプリケーション遅延(秒) グラフは、プライマリコンピュートで最後にコミットされたトランザクションと、レプリカへのそのトランザクションの適用との間の時間遅延(秒単位)を表示します。値が高いほど、ネットワーク遅延、高いレプリケーション負荷、またはレプリカのリソース制約などが原因で、レプリカがプライマリより遅れていることを示唆しています。
このグラフは、[コンピュート] ドロップダウン メニューからリード レプリカ コンピュートを選択した場合にのみ表示されます。 読み取りレプリカの詳細については、 「読み取りレプリカ」を参照してください。