EnterpriseDB 公司的企業版資料庫,可以設定資源控管模式,進行效能的動態的調整,這功能稱作 Dynatune。在安裝過程中,就會進行相關的設定。安裝之後,也可以事後於 $PGDATA/postgresql.conf 設定檔裡面找到相關設定值。
在安裝過程中,會出現以下選項:
(圖一)
,以及
(圖二)
這兩項設置,分別對應到以下兩項 postgresql.conf 內的設置參數(GUC):
edb_dynatune
|
設定的是要允許 EDB 使用多少作業系統的資源(0~100)(圖一)
|
edb_dynatune_profile
|
設定的是 EDB 要用來進行交易處理還是分析處理(oltp|mixed|reporting)(圖二)
|
因此,在企業版 PostgreSQL 裡面,有以下的效能組合模式:
edb_dynatune
edb_dynatune_profile
|
development machine
(1 - 33)
|
mixed
(33 - 66)
|
dedicated
(66 - 100)
|
oltp
| V | V |
V(一般建議)
|
mixed
| V |
V(預設值)
| V |
reporting
| V | V | V |
進一步的資訊,Dynatune 參考的相關作業系統資訊有
System Shared Memory
sys_shared_mem;
Current allocated Shared Buffer
Current MaxFSMRelations settings;
Number of Buffers;
Total Memory.
|
進而被 Dynatune 調整的功能有(截至 EPAS 9.5 版為止)
max_connections
work_mem (動態調整)
maintenance_work_mem (動態調整)
shared_buffers
max_fsm_relations
max_fsm_pages
wal_buffers
effective_cache_size (動態調整)
random_page_cost
checkpoint_segments (Not in 9.5)
autovacuum_vacuum_threshold
autovacuum_vacuum_scale_factor
autovacuum_analyze_threshold
autovacuum_analyze_scale_factor
autovacuum_naptime
stats_row_level (Not in 9.x)
Autovacuum
|
如果需要調整效能模式,只要將 $PGDATA/postgresql.conf 相關的參數修改好,再重新啟動資料庫即可。
參考: