Chuyển đến nội dung chính

レッスン 20: POSTGRESQL のモニタリング、チューニング、および 2 日目の操作

pg_stat_statements、Prometheus メトリクス、Grafana ダッシュボード、バキューム チューニング、接続プーリングの最適化、Kubernetes 上の PostgreSQL HA の Day-2 操作をセットアップします。

🔒 DevSecOps — レッスン 20 レッスン 20: POSTGRESQL の監視、チューニング、および 2 日目の操作

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 4: Patroni と PostgreSQL HA を使用するCloudNativePG

xdev.asia

🎯 レッスンの目的__HTMLTAG_68___
  • ✅ クエリ分析用に pg_stat_statements をセットアップ
  • ✅ PostgreSQL 用の Prometheus モニタリングを展開
  • ✅ PG メトリクス用の Grafana ダッシュボードを構築
  • ✅ バキューム調整と自動バキューム構成
  • ✅ PgBouncer による接続プーリングの最適化
  • ✅ 2 日目の操作: スケーリング、マイナー アップグレード、メジャー アップグレード

パート 1: pg_stat_statements — クエリ分析

1.1. pg_stat_statements

を有効にする ___コードブロック_0___

1.2。トップの遅いクエリ

___コードブロック_1___

パート 2: プロメテウスの監視

2.1. CloudNativePG 組み込みメトリクス

___コードブロック_2___

2.2. Prometheus 用 PodMonitor

___コードブロック_3___

2.3.カスタム指標クエリ

___コードブロック_4___

パート 3: GRAFANA ダッシュボード

3.1.インポート ダッシュボード

___コードブロック_5___

パート 4: 真空チューニング

4.1.自動バキューム構成

___コードブロック_6___

4.2.大きなテーブルの手動 VACUUM

___コードブロック_7___

パート 5: PGBOUNCER のチューニング

コードブロック_8


パート 6: 2 日目のオペレーション

6.1.スケールレプリカ

___コードブロック_9___

6.2.マイナー バージョン アップグレード (例: 16.3 → 16.4)

___コードブロック_10___

6.3.メジャー バージョン アップグレード (例: 16 → 17)

___コードブロック_11___

💡 重要なポイント

  1. pg_stat_statements: クエリ パフォーマンス分析に必須
  2. Prometheus + Grafana: リアルタイム監視、遅延/接続に関するアラート
  3. 真空チューニング: 大きなテーブルのscale_factorを下げる(20%ではなく5%)
  4. PgBouncer: トランザクション プーリング、ワークロードに応じてdefault_pool_sizeを調整
  5. _マイナーアップグレード: ダウンタイムゼロのローリングアップデート
  6. メジャーアップグレード: 論理レプリケーション戦略

🎯 演習

演習 1: パフォーマンスのベースライン

  • pg_stat_statements を有効にする
  • pgbench ワークロードの実行
  • 遅いクエリ上位 5 を特定__HTMLTAG_163___
  • _Grafana ダッシュボードのセットアップ

演習 2: 真空実験室

  • テーブルの作成、INSERT 1M 行、DELETE 500K
  • デッドタプルを観察し、VACUUMをトリガー__HTMLTAG_173___
  • _自動バキュームと手動バキュームのタイミングの比較__HTMLTAG_175___

📚 次の投稿

__HTMLTAG_181___レッスン 21: Kubernetes 上の RabbitMQ HA クラスター では、マイクロサービス通信用の HA メッセージ キューをデプロイします。