正常的系統維護是為了我們的Greenplum資料庫具有更高的穩定性和更優化的性能展現
使用 ANALYZE 更新系統的統計資訊
資料庫的資料膨脹管理 (需要仔細點延伸下去)
監控Greenplum的日志檔案
Greenplum 資料庫系統提供了非常使用的監控工具。
gp_toolkit 模式包含多種視圖,可以通過SQL指令去查詢Greenplum資料庫系統的 system catalogs , log files 和 對目前操作環境下系統的狀态資訊。
對于更多的 gpstate 和 gpcheckperf 涉及在 《Greenplum Database Utility Guide》中。對于 gp_toolkit 的資訊, 可以參考 《Greenplum Database Reference Guide》
使用 gpstate 實用程式是用來檢視Greenplum 整個系統狀态的。 通常,我們執行 gpstate 指令會獲得如下資訊,這些資訊包裹目前有多少個段資料庫在運作,多少個段資料挂掉了,如果存在資料庫挂掉了,這就需要我們注意解決問題了,因為挂點的點很容易引起計算傾斜等問題。
執行 gpstate -Q 可以擷取在 master 節點的 system catalog 中有多少個段資料庫 DOWN (當機了)。
如果想獲得更詳細的資訊需要執行的指令為 gpstate -s
gpcheckperf 時用用來檢測硬體的性能的,所有的節點。可以用來确定硬體故障,它的性能檢查涉及到如下幾條:
磁盤 I/O檢測 -- 使用的是 linux 系統指令 dd 讀寫大的日志檔案,來獲得磁盤的性能。 他傳回結果為 讀寫 MB/sec
記憶體帶寬測試 -- 是使用的是 STREAM benchmark 來測試,其機關為 MB/sec
網絡性能測試 -- 運作的是 gpnetbench 網絡測試的 benchmark (可以選擇為 netperf) 來測試叢集的網絡性能。 這個benchmark 運作在三種模式下,分别是 并行對測試 (-r N), 序列槽對測試 ( -r n), 全矩陣測試 ( -r M)。這裡會獲得 最小 最大 平均 和 中值 的轉換率 機關是 MB/sec
為了使用 gpcheckperf 獲得有用的資料, 資料庫系統必須 停機 才可以。如果不停機的話,很多獲得資料根本不可靠。
使用 gpcheckperf 要求在測試的主機之間建立可靠的主機設定機制。他将會調用 gpssh 和 gpscp 指令, 是以必須確定這些指令完全在你的系統 PATH 中。 可以使用如下指令檢查是否可以使用 ( -h host1 -h host2) 等。或者使用 (-f host_file) 這是一個 text 檔案。裡面的内容就是各個主機名。
通常情況下, gpcheckperf 運作的測試為 I/O 測試, 記憶體測試, 序列槽測試 網絡測試。 在磁盤 I/O 測試的時候,我們需要的是 使用 -d 參數來選擇具體的系統上的檔案路徑。 如下例子
<code></code>
其中這上面的 -r 參數是用來選擇運作在 : 磁盤I/O (d), 記憶體帶寬 (s) , 網絡并行對 (N), 網絡串行對 (n), 網絡全矩陣測試 (M).
這有網絡測試模式可以選擇執不執行 . 具體參見 ‘《Greenplum Database Reference Guide》
## 監控作業系統
通常使用如下指令來監控作業系統
iostat 允許可以監控每個段節點磁盤的使用情況
top 動态視圖的形式顯示作業系統的程序情況
vmstate 展示記憶體使用情況
通常是使用 gpssh 切換到不同的節點上去檢視檢測資訊
參看 《Greenplum Database Administrator Guide》 完成監控任務的部署和實作。
在安裝Greenplum 資料庫之前先執行一次 gpfcheckperf , 儲存輸出結果,此後不定期的執行測試
使用你能找到的所有工具來了解在不同負載的情況下,系統的狀态
檢查任何異常事件以確定原因
通過定期運作 explain 指令來獲得查詢的解釋計劃, 監控系統上的查詢活動, 以確定運作最佳。
審視執行計劃,以確定是否使用了索引,并按照預期完成分區的選擇
gpcheckperf 參看手冊 《Greenplum Database Utility Guide》
維護系統的搭建 參考手冊 《Greenplum Database Administrator Guide》
www.netperf.org to use netperf, netperf must be installed on each host you test. See gpcheckperf reference for more information.