GaussDB 數(shù)據(jù)庫性能統(tǒng)計
在數(shù)據(jù)庫運行過程中,會涉及到鎖的訪問、磁盤IO操作、無效消息的處理,這些操作都可能是數(shù)據(jù)庫的性能瓶頸,通過GaussDB提供的性能統(tǒng)計方法,可以方便定位性能問題。
輸出性能統(tǒng)計日志
參數(shù)說明:對每條查詢,以下4個選項控制在服務器日志里記錄相應模塊的性能統(tǒng)計數(shù)據(jù),具體含義如下:
- log_parser_stats控制在服務器日志里記錄解析器的性能統(tǒng)計數(shù)據(jù)。
- log_planner_stats控制在服務器日志里記錄查詢優(yōu)化器的性能統(tǒng)計數(shù)據(jù)。
- log_executor_stats控制在服務器日志里記錄執(zhí)行器的性能統(tǒng)計數(shù)據(jù)。
- log_statement_stats控制在服務器日志里記錄整個語句的性能統(tǒng)計數(shù)據(jù)。
- 這些參數(shù)只能輔助管理員進行粗略分析,類似Linux中的操作系統(tǒng)工具getrusage() 。
- 這些參數(shù)屬于SUSET類型參數(shù),請參考表1中對應設置方法進行設置。
- 須知: log_statement_stats記錄總的語句統(tǒng)計數(shù)據(jù),而其他的只記錄針對每個模塊的統(tǒng)計數(shù)據(jù)。 log_statement_stats不能和其他任何針對每個模塊統(tǒng)計的選項一起打開。
取值范圍:布爾型
on表示開啟記錄性能統(tǒng)計數(shù)據(jù)的功能。
off表示關閉記錄性能統(tǒng)計數(shù)據(jù)的功能。
默認值:off
GaussDB 性能調(diào)優(yōu)總體思路
GaussDB性能調(diào)優(yōu)過程需要綜合考慮多方面因素,因此,調(diào)優(yōu)人員應對系統(tǒng)軟件架構、軟硬件配置、數(shù)據(jù)庫配置參數(shù)、并發(fā)控制(當前特性是實驗室特性,使用時請聯(lián)系華為工程師提供技術支持)、查詢處理和數(shù)據(jù)庫應用有廣泛而深刻的理解。
輸出性能統(tǒng)計日志
須知:性能調(diào)優(yōu)過程有時候需要重啟集群,可能會中斷當前業(yè)務。因此,業(yè)務上線后,當性能調(diào)優(yōu)操作需要重啟集群時,操作窗口時間需向管理部門提出申請,經(jīng)批準后方可執(zhí)行。
調(diào)優(yōu)流程及調(diào)優(yōu)各階段說明如下:
|
階段
|
描述
|
|---|---|
確定性能調(diào)優(yōu)范圍 |
獲取集群各節(jié)點的CPU、內(nèi)存、I/O和網(wǎng)絡資源使用情況,確認這些資源是否已被充分利用,是否存在瓶頸點。 |
SQL調(diào)優(yōu)指南 |
審視業(yè)務所用SQL語句是否存在可優(yōu)化空間,包括: 1、通過ANALYZE語句生成表統(tǒng)計信息:ANALYZE語句可收集與數(shù)據(jù)庫中表內(nèi)容相關的統(tǒng)計信息,統(tǒng)計結果存儲在系統(tǒng)表PG_STATISTIC中。執(zhí)行計劃生成器會使用這些統(tǒng)計數(shù)據(jù),以確定最有效的執(zhí)行計劃。 2、分析執(zhí)行計劃:EXPLAIN語句可顯示SQL語句的執(zhí)行計劃,EXPLAIN PERFORMANCE語句可顯示SQL語句中各算子的執(zhí)行時間。 3、查找問題根因并進行調(diào)優(yōu):通過分析執(zhí)行計劃,找到可能存在的原因,進行針對性的調(diào)優(yōu),通常為調(diào)整數(shù)據(jù)庫級SQL調(diào)優(yōu)參數(shù)。 4、編寫更優(yōu)的SQL:介紹一些復雜查詢中的中間臨時數(shù)據(jù)緩存、結果集緩存、結果集合并等場景中的更優(yōu)SQL語法。 |