LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

PostgreSQL 實例安裝完,哪些配置參數(shù)需要調(diào)整?

admin
2024年12月3日 11:40 本文熱度 831

數(shù)據(jù)庫實例初始安裝完,總需要對配置參數(shù)進(jìn)行初次的設(shè)置和調(diào)整。

在本教程中,我們將回顧一些有助于 PostgreSQL 調(diào)優(yōu)的不同的 GUC(全局統(tǒng)一配置)參數(shù)。這些參數(shù)位于 postgresql.conf 文件($PGDATA目錄內(nèi))中,該文件管理著數(shù)據(jù)庫服務(wù)器的配置和性能。

shared_buffers (integer)

shared_buffers 參數(shù)確定專用于服務(wù)器緩存數(shù)據(jù)的內(nèi)存量。該參數(shù)在 postgresql.conf 文件中設(shè)置的默認(rèn)值為:

shared_buffers = 128MB

該值應(yīng)設(shè)置為機器總內(nèi)存的 15% 到 25%。例如,如果您的機器內(nèi)存大小為 32 GB,則 shared_buffers 的建議值為 8 GB。

更改此參數(shù)后,需要重新啟動服務(wù)器。

work_mem (integer)

work_mem 參數(shù)實質(zhì)上提供了內(nèi)部排序操作和哈希表在寫入臨時的磁盤文件之前要使用的內(nèi)存量。排序操作用于 ORDER BY、DISTINCT 和 MERGE JOIN 操作。哈希表用于哈希連接和基于哈希的聚合。

該參數(shù)在 postgresql.conf 文件中設(shè)置的默認(rèn)值為:

work_mem = 4MB

設(shè)置正確的 work_mem 參數(shù)值可以減少磁盤交換,從而大大加快查詢速度。

我們可以使用下面公式,來計算數(shù)據(jù)庫服務(wù)器的 work_mem 值:

總內(nèi)存 * 0.25 / max_connections

max_connections 也是一個 GUC 參數(shù),它用于指定與數(shù)據(jù)庫服務(wù)器的最大并發(fā)連接數(shù)。默認(rèn)情況下,該值設(shè)置為 100 個連接。

我們也可以直接給一個角色設(shè)置 work_mem 參數(shù)值:

ALTER USER test SET work_mem='4GB';

autovacuum

默認(rèn)情況下,該 GUC 參數(shù)在 postgresql.conf 文件中處于啟用狀態(tài),建議采用此設(shè)置。如果該參數(shù)設(shè)置為 off,則服務(wù)器中不會進(jìn)行自動清理,但是在禁用的情況下,系統(tǒng)還是會啟動 autovacuum 進(jìn)程,以防止事務(wù) ID 回卷。

在 postgresql.conf 文件中更改此參數(shù)值后,需要重新啟動數(shù)據(jù)庫服務(wù)器。

其他與 autovacuum 相關(guān)的 GUC 參數(shù)包括:

autovacuum_max_workers

該參數(shù)可設(shè)置會并行運行的 autovacuum 工作進(jìn)程數(shù)。默認(rèn)情況下,它是 3。如果存在大量具有頻繁更新或刪除操作的表,則需要將該值設(shè)置得更高。

autovacuum_naptime

該參數(shù)指定在任何給定數(shù)據(jù)庫上調(diào)度 autovacuum 運行之間的最小延遲。默認(rèn)值為 1 分鐘。如果有 60 個數(shù)據(jù)庫,則必須每秒啟動一次 autovacuum 進(jìn)程。在這種情況下,建議增加該值,以便 autovacuum 不會太頻繁地啟動。

autovacuum_vacuum_threshold

該參數(shù)指定在任何一個表中觸發(fā) VACUUM 所需的最少更新或刪除的元組數(shù)。默認(rèn)值為 50 個元組,這對于很多表來說是非常低的。

autovacuum_analyze_threshold

該參數(shù)指定在任何一個表中觸發(fā) ANALYZE 所需的插入、更新或刪除的元組的最少數(shù)量。默認(rèn)值為 50 個元組,這對于很多表來說是非常低的。

autovacuum_vacuum_scale_factor

該參數(shù)指定對一個表啟動 autovacuum 進(jìn)程所需更改的表的百分比。默認(rèn)值為 0.2(即表大小的 20%),autovacuum_analyze_scale_factor 為 0.1(即 10%)。該值適用于小型表,但如果表的大小較大(比如 150 GB),則在 autovacuum 進(jìn)程啟動之前將有 30 GB 的死元組。但是,如果有少量的大型表,那么我們可以在表級別進(jìn)行設(shè)置,而不是修改 postgresql.conf 文件:

ALTER TABLE test SET (autovacuum_vacuum_scale_factor=0.1);

有關(guān)其他的 autovacuum 參數(shù),請參閱 PostgreSQL 在線文檔

effective_cache_size

effective_cache_size 參數(shù)用來估計在數(shù)據(jù)庫系統(tǒng)中可被操作系統(tǒng)用于磁盤緩存的內(nèi)存量。PostgreSQL 查詢規(guī)劃器會決定它是否能放入內(nèi)存中。較高的值更有可能采用索引掃描,否則如果該值較低,則將使用順序掃描。

建議將 effective_cache_size 設(shè)置為機器總內(nèi)存的 50%。

max_parallel_worker

max_parallel_worker 參數(shù)指定要執(zhí)行并行操作的最大工作進(jìn)程數(shù),這還取決于 GUC 參數(shù) max_worker_processes 中指定的值,它指定了系統(tǒng)可以支持的最大后臺進(jìn)程數(shù);默認(rèn)值為 8。

maintenance_work_mem (integer)

maintenance_work_mem 參數(shù)實質(zhì)上提供了維護(hù)操作可使用的最大內(nèi)存量,如 VACUUM、CREATE INDEX、ALTER TABLE 和添加外鍵操作等。該參數(shù)在 postgresql.conf 文件中設(shè)置的默認(rèn)值為:

maintenance_work_mem = 64MB

建議將該值設(shè)置為高于 work_mem,這樣可能會提高 vacuum 操作的性能。一般來說,它應(yīng)該是:

總內(nèi)存 * 0.05

有關(guān)更多詳細(xì)信息,請參閱 PostgreSQL 調(diào)優(yōu)的 wiki 頁面


該文章在 2024/12/4 17:30:27 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
偷怕自怕视频在线观看 | 亚洲国产午夜精品理论片 | 中文字幕精品久久久 | 亚洲成色在线综合网站免费 | 色一伦一情一区二区三区 | 在线精品视频一区二区三四 |