🎯 課程目標__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___💡 重點
-
___HTMLTAG_127__HTMLTAG_128___pg_stat_statements:對於查詢效能分析至關重要
___HTMLTAG_131__HTMLTAG_132___Prometheus + Grafana:即時監控、延遲/連線警報
___HTMLTAG_135__HTMLTAG_136___真空調整:減少大型表的scale_factor(5%而不是20%)
___HTMLTAG_139__HTMLTAG_140___PgBouncer:事務池,依照工作負載調整default_pool_size
___HTMLTAG_143__HTMLTAG_144___小升級:滾動更新零停機
___HTMLTAG_147__HTMLTAG_148___重大升級:邏輯複製策略
🎯 練習
練習 1:表現基線
- 啟用 pg_stat_statements
- 執行 pgbench 工作負載
- 辨識前 5 個最慢的查詢__HTMLTAG_163___
- 設定 Grafana 儀表板
練習 2:真空實驗室
- 建立表,插入 1M 行,刪除 500K
- 觀察死元組,觸發VACUUM__HTMLTAG_173___
- 比較自動真空與手動真空計時__HTMLTAG_175___
📚 下一篇文章
在第21課:Kubernetes上的RabbitMQ HA叢集中,我們將部署HA訊息佇列用於微服務通訊。