欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

PostgreSQL 實例安裝完,哪些配置參數需要調整?

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

數據庫實例初始安裝完,總需要對配置參數進行初次的設置和調整。

在本教程中,我們將回顧一些有助于 PostgreSQL 調優的不同的 GUC(全局統一配置)參數。這些參數位于 postgresql.conf 文件($PGDATA目錄內)中,該文件管理著數據庫服務器的配置和性能。

shared_buffers (integer)

shared_buffers 參數確定專用于服務器緩存數據的內存量。該參數在 postgresql.conf 文件中設置的默認值為:

shared_buffers = 128MB

該值應設置為機器總內存的 15% 到 25%。例如,如果您的機器內存大小為 32 GB,則 shared_buffers 的建議值為 8 GB。

更改此參數后,需要重新啟動服務器。

work_mem (integer)

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

該參數在 postgresql.conf 文件中設置的默認值為:

work_mem = 4MB

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

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

總內存 * 0.25 / max_connections

max_connections 也是一個 GUC 參數,它用于指定與數據庫服務器的最大并發連接數。默認情況下,該值設置為 100 個連接。

我們也可以直接給一個角色設置 work_mem 參數值:

ALTER USER test SET work_mem='4GB';

autovacuum

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

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

其他與 autovacuum 相關的 GUC 參數包括:

autovacuum_max_workers

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

autovacuum_naptime

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

autovacuum_vacuum_threshold

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

autovacuum_analyze_threshold

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

autovacuum_vacuum_scale_factor

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

ALTER TABLE test SET (autovacuum_vacuum_scale_factor=0.1);

有關其他的 autovacuum 參數,請參閱 PostgreSQL 在線文檔

effective_cache_size

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

建議將 effective_cache_size 設置為機器總內存的 50%。

max_parallel_worker

max_parallel_worker 參數指定要執行并行操作的最大工作進程數,這還取決于 GUC 參數 max_worker_processes 中指定的值,它指定了系統可以支持的最大后臺進程數;默認值為 8。

maintenance_work_mem (integer)

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

maintenance_work_mem = 64MB

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

總內存 * 0.05

有關更多詳細信息,請參閱 PostgreSQL 調優的 wiki 頁面


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