成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > PostgreSQL 性能優(yōu)化之服務(wù)器參數(shù)配置操作

PostgreSQL 性能優(yōu)化之服務(wù)器參數(shù)配置操作

熱門標(biāo)簽:廣州電銷機器人公司招聘 移動外呼系統(tǒng)模擬題 濟南外呼網(wǎng)絡(luò)電話線路 天津開發(fā)區(qū)地圖標(biāo)注app 400電話申請客服 地圖標(biāo)注要花多少錢 江蘇400電話辦理官方 電話機器人怎么換人工座席 電銷機器人能補救房產(chǎn)中介嗎

大家好!我是只談技術(shù)不剪發(fā)的 Tony 老師。今天我們來聊聊 PostgreSQL 的性能優(yōu)化;數(shù)據(jù)庫優(yōu)化是一個系統(tǒng)的工程,本文只專注于服務(wù)器的參數(shù)配置優(yōu)化。

默認(rèn)安裝時,PostgreSQL 的配置參數(shù)通常都偏小,不太適合作為生產(chǎn)服務(wù)器使用。所以,安裝 PostgreSQL 數(shù)據(jù)庫之后首先需要執(zhí)行的操作就是對服務(wù)器的配置參數(shù)進行調(diào)整。

查看/設(shè)置參數(shù)值

我們使用 PostgreSQL 12,服務(wù)器的配置參數(shù)有 300 多個,運行時的參數(shù)值可以使用 SHOW 命令查看:

show server_version;
server_version|
--------------|
12.3  |
show all;
name    |setting     |description            |
-----------------------------------|-----------------------------------------|----------------------------------------------------------------------------------------------------------|
allow_system_table_mods  |off     |Allows modifications of the structure of system tables.       |
application_name   |DBeaver 7.0.5 - SQLEditor Script-13.sql>|Sets the application name to be reported in statistics and logs.      |
archive_cleanup_command  |      |Sets the shell command that will be executed at every restart point.     |
...

這些參數(shù)的詳細(xì)信息也可以使用 pg_settings 視圖進行查看:

SELECT name, setting, unit, source, sourcefile, sourceline, short_desc
from pg_settings
where name like '%buffers%';
name  |setting|unit|source  |sourcefile    |sourceline|short_desc       |
--------------|-------|----|------------------|--------------------------------------|----------|------------------------------------------------------------------|
shared_buffers|16384 |8kB |configuration file|/var/lib/pgsql/12/data/postgresql.conf| 121|Sets the number of shared memory buffers used by the server. |
temp_buffers |1024 |8kB |default  |     |  |Sets the maximum number of temporary buffers used by each session.|
wal_buffers |512 |8kB |override  |     |  |Sets the number of disk-page buffers in shared memory for WAL. |

通過 pg_settings 視圖不僅可以查看運行時的參數(shù)值,而且可以知道這些值的來源。

這些參數(shù)有些可以在服務(wù)器運行時進行修改,有些需要重啟服務(wù)器之后才能生效;不同修改方式的優(yōu)先級不同,下圖列出了所有可能的修改方式:

以上設(shè)置方式的優(yōu)先級從高到低;也就是說,在一個在事務(wù)內(nèi)部設(shè)置的參數(shù)值會覆蓋其他任何設(shè)置,不過該設(shè)置只在當(dāng)前事務(wù)中有效。需要注意的是,并非所有參數(shù)都可以支持所有的修改方式,具體可以參考官方文檔關(guān)于 pg_settings 的說明。

接下來我們介紹幾個重要的配置參數(shù)。

max_connections

max_connections 決定了客戶端的最大并發(fā)連接數(shù),默認(rèn)值通常為 100。如果出現(xiàn)連接數(shù)過多,無法連接數(shù)據(jù)庫的錯誤時,可能需要考慮增加最大連接數(shù)。不過,修改該參數(shù)還需要考慮對其他參數(shù)的影響(尤其是 work_mem);因為它們是基于每個連接設(shè)置的值,增加連接數(shù)也會導(dǎo)致這些內(nèi)存使用量的增加。

通常來說,商業(yè)服務(wù)器至少可以支持幾百個連接。如果應(yīng)用的連接數(shù)到大上千或者幾千,可以考慮使用連接池技術(shù)減少連接的消耗。

修改 max_connections 的方式有兩種,修改之后必須重啟服務(wù)器才能生效:

修改配置文件 postgresql.conf;

alter system set max_connections = N;,該命令會修改配置文件 postgresql.auto.conf。

對于主從復(fù)制中的從節(jié)點,必須將該參數(shù)的值設(shè)置為大于等于主節(jié)點上的值;否則,從節(jié)點將無法執(zhí)行查詢操作。

shared_buffers

除了操作系統(tǒng)的 I/O 緩存之外,PostgreSQL 還會使用自己的內(nèi)部緩存。PostgreSQL 共享內(nèi)存緩沖區(qū)由參數(shù) shared_buffers 設(shè)置,它決定了 PostgreSQL 能夠使用的專用緩存大小。

為確保在所有機器和操作系統(tǒng)上的兼容性,PostgreSQL 默認(rèn)將該值設(shè)置得很小,通常是 128 MB。因此,增加 shared_buffers 的值是提高性能最有效的設(shè)置之一。

雖然對于 shared_buffers 沒有具體的推薦值,但是可以針對具體的系統(tǒng)計算出一個大概的值。一般來說,對于專用的數(shù)據(jù)庫服務(wù)器,shared_buffers 大概可以設(shè)置為系統(tǒng)內(nèi)存的 25%。增加 shared_buffers 的值通??梢蕴岣咝阅?,例如,當(dāng)整個數(shù)據(jù)庫都可以被加載到緩存中時,可以明顯減少磁盤的讀取操作。由于 PostgreSQL 還依賴于操作系統(tǒng)的緩存,大于內(nèi)存 40% 的 shared_buffers 并不會帶來性能的提示,反而可能會下降。

雖然增加 shared_buffers 的值可以提高以讀為主的系統(tǒng)性能,但是可能影響以寫為主的系統(tǒng)性能;因為 shared_buffers 的全部內(nèi)容必須在寫入操作時進行處理。

修改 shared_buffers 的方式有兩種,修改之后必須重啟服務(wù)器才能生效:

修改配置文件 postgresql.conf;

alter system set shared_buffers = 'xxx';,該命令會修改配置文件 postgresql.auto.conf。另外,增加 shared_buffers 的值通常也需要相應(yīng)地增加 max_wal_size 的值,以便延長檢查點的時間間隔。

wal_buffers

PostgreSQL 使用預(yù)寫日志(WAL)確保數(shù)據(jù)的持久性;與 shared_buffers 作用類似,PostgreSQL 將 WAL 日志寫入緩沖并且批量寫入磁盤。

默認(rèn)的 WAL 緩沖大小由 wal_buffers 參數(shù)進行設(shè)置,初始值為 16MB(shared_buffers 的 1/32)。WAL 緩沖區(qū)在每次事務(wù)提交時都會寫入磁盤,因此過大的值并不會帶來顯著的性能提升。不過,對于大量并發(fā)的寫入操作,適當(dāng)增加該參數(shù)的值可以提高系統(tǒng)的性能。

修改 wal_buffers 的方式有兩種,修改之后必須重啟服務(wù)器才能生效:

修改配置文件 postgresql.conf;

alter system set wal_buffers = 'xxx';,該命令會修改配置文件 postgresql.auto.conf。

effective_cache_size

effective_cache_size 參數(shù)為 PostgreSQL 提供了一個可供操作系統(tǒng)和數(shù)據(jù)庫使用的緩存估值(考慮了操作系統(tǒng)自身和其他應(yīng)用之后)。

該參數(shù)只是一個評估值,而不是實際的分配值;它僅用于 PostgreSQL 查詢計劃器判斷索引的代價,越大的值越可能使用索引掃描,否則更可能使用表的順序掃描。

effective_cache_size 默認(rèn)值為 4 GB,保守估可以設(shè)置為是系統(tǒng)可用內(nèi)存的 1/2。通常對于專用數(shù)據(jù)庫服務(wù)器可以設(shè)置為系統(tǒng)總內(nèi)存的 75%,可以根據(jù)特定的服務(wù)器工作負(fù)載進行調(diào)整。如果 effective_cache_size 設(shè)置過低,查詢計劃器可能會忽略某些索引,即使通過索引可以明顯增加查詢的性能。

通過操作系統(tǒng)的統(tǒng)計信息可以得到一個更好的估計值。對于 UNIX/LINUX 系統(tǒng),將 free 或者 top 命令結(jié)果中的 free 加上 cached;;對于 Windows 系統(tǒng),查看任務(wù)管理器 Performance 頁面中的“System Cache”。

修改 effective_cache_size 不需要重啟服務(wù)器,通過以下方式修改之后執(zhí)行pg_ctl reload或者SELECT pg_reload_conf();重新加載即可:

修改配置文件 postgresql.conf;

alter system set effective_cache_size = 'xxx';,該命令會修改配置文件 postgresql.auto.conf。

work_mem

work_mem 參數(shù)用于復(fù)雜的排序操作,它決定了中間結(jié)果(例如哈希表)或者排序操作可以使用的最大內(nèi)存。

如果設(shè)置了合適的 work_mem 值,大部分的排序操作都在內(nèi)存中執(zhí)行,而不需要使用磁盤存儲臨時結(jié)果。對于復(fù)雜的查詢,可能會執(zhí)行并發(fā)的排序或者哈希操作,每個操作都可以最多使用該參數(shù)設(shè)置的內(nèi)存。另外,多個會話可能同時執(zhí)行排序操作。因此,排序占用的總內(nèi)存可能是 work_mem 的許多倍;work_mem 的值不能設(shè)置的過高,因為它可能導(dǎo)致內(nèi)存使用瓶頸。

該參數(shù)的默認(rèn)值為 4MB,支持從事務(wù)級別到命令行參數(shù)的各種修改方式。理想的方式是將全局的 work_mem 參數(shù)設(shè)置為一個較低的值,然后為具體的查詢指定更大的值:

SET LOCAL work_mem = '256MB';
SELECT * FROM db ORDER BY LOWER(name);

涉及排序操作的 SQL 子句包括 ORDER BY、DISTINCT 以及排序合并連接(Sort Merge Join)。使用哈希表的操作包括哈希連接(Hash Join)、基于哈希的聚合以及基于哈希的 IN 子查詢實現(xiàn)。

maintenance_work_mem

maintenance_work_mem 參數(shù)指定了日常維護操作允許占用的最大內(nèi)存,例如 VACUUM、CREATE INDEX 以及 ALTER TABLE ADD FOREIGN KEY 等操作。

由于一個數(shù)據(jù)庫會話同時只能執(zhí)行一個維護操作,一般不會存在并發(fā)的維護操作;所以將該參數(shù)設(shè)置的比 work_mem 大很多也不會有問題,更大的維護內(nèi)存還能夠提高數(shù)據(jù)庫清理和數(shù)據(jù)導(dǎo)入的性能。

唯一需要注意的是,如果啟動了 autovacuum,可能會占用 autovacuum_max_workers(默認(rèn)為 3)倍 work_mem 設(shè)置的內(nèi)存。我們也可以為此設(shè)置單獨的 autovacuum_work_mem 參數(shù)。

maintenance_work_mem 參數(shù)的默認(rèn)值為 64MB,支持從事務(wù)級別到命令行參數(shù)的各種修改方式。

總結(jié)

調(diào)整服務(wù)器的配置參數(shù)通常是我們在安裝 PostgreSQL 之后需要進行優(yōu)化的第一步,本文介紹了如何進行參數(shù)的設(shè)置以及幾個重要參數(shù)的作用和調(diào)整目標(biāo)。

PostgreSQL 提供了大量可以調(diào)整的參數(shù),PGTune 工具給我們提供了一個很好的嘗試起點,wiki.postgresql.org列出了最常見的幾個參數(shù)優(yōu)化;不過性能優(yōu)化的關(guān)鍵是對工作負(fù)載進行基準(zhǔn)測試并且和已知的基線進行比較。

另外,數(shù)據(jù)庫的配置優(yōu)化并不是優(yōu)化的全部。

例如,編寫不當(dāng)?shù)牟樵冋Z句可能無法通過調(diào)整參數(shù)解決性能問題;此時我們需要通過其他方式進行優(yōu)化,比如利用索引或者修改查詢的連接方式等。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql 性能參數(shù)配置方式
  • PostgreSQL歸檔配置及自動清理歸檔日志的操作
  • postgresql安裝及配置超詳細(xì)教程
  • Postgresql的日志配置教程詳解
  • PostgreSQL 邏輯復(fù)制 配置操作
  • 基于PostgreSQL pg_hba.conf 配置參數(shù)的使用說明
  • PostgreSQL 自動Vacuum配置方式

標(biāo)簽:濮陽 海西 榆林 辛集 杭州 寶雞 昭通 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PostgreSQL 性能優(yōu)化之服務(wù)器參數(shù)配置操作》,本文關(guān)鍵詞  PostgreSQL,性能,優(yōu)化,之,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PostgreSQL 性能優(yōu)化之服務(wù)器參數(shù)配置操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于PostgreSQL 性能優(yōu)化之服務(wù)器參數(shù)配置操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    中文字幕欧美日韩在线不卡| 综合区小说区图片区在线一区| 日韩欧美美女一区二区三区| 性欧美video另类hd3| 奇米影视777在线欧美电影观看| 国产黄色三级网站| 国产精品1区2区3区在线观看| 欧美黄色免费在线观看| 亚洲视频免费播放| 99久久久无码国产精品性波多| 91人人澡人人爽| 欧美一区午夜精品| 亚洲精品一区二区口爆| 国产在亚洲线视频观看| 114美女做爰视频在线| 亚洲精品7777xxxx青睐| 国产无遮挡又黄又爽免费网站| 啪啪免费视频一区| 男人在线资源站| 欧美日韩天堂| 尤物视频在线视频| 9.1国产丝袜在线观看| 性久久久久久久久久久久| 蜜桃视频一区| 91产国在线观看动作片喷水| 国产在线一区二区三区四区| 国产7777777| 国产成人免费视频网站高清观看视频| 久久久www成人免费毛片麻豆| 粉嫩一区二区三区性色av| 蜜臀av性久久久久蜜臀aⅴ四虎| 男女羞羞视频在线观看| 国产97免费视频| 国产精品16p| 欧美一级免费观看| 欧洲美女7788成人免费视频| 5566中文字幕一区二区| 亚洲精品综合在线观看| 亚洲伊人久久大香线蕉av| 色综合久久88色综合天天6| 久久精品国产第一区二区三区最新章节| 欧美xxxx黑人又粗又长密月| 日韩精品最新在线观看| 国产十八熟妇av成人一区| 亚洲电影在线一区二区三区| 视频一区三区| 99精品国产一区二区三区不卡| 麻豆av一区二区| 成人黄色在线观看视频| 亚洲精品中文字幕无码蜜桃| 一本一道久久a久久精品逆3p| 一区视频在线看| 午夜精品一区二区三区在线播放| 中国人xxxxx69免费视频| 你懂的亚洲视频| 国产亚洲精品久久飘花| 99久久99久久精品免费看蜜桃| 国产孕妇孕交大片孕| 国产成人麻豆精品午夜在线| 中文无字幕一区二区三区| 国产一级久久久| 亚洲人成电影院色| 中文在线免费一区三区| www黄色在线观看视频| 久久色在线播放| 日韩精品专区| 在线精品自拍| 永久免费在线观看视频| 91小视频免费观看| 国产欧美啪啪| 中文字幕一区二区三区在线视频| 91精品国产91久久久久久吃药| 久久精品91久久久久久再现| 九九精品视频在线| 91在线第一页| 欧美三日本三级少妇三2023| 性欧美18一19sex性欧美| 亚洲视频999| 国产成人精品在线观看| 91精品国产乱码久久久久久久久| 日韩三级在线| 天天操天天插天天射| 妺妺窝人体色www在线下载| 久草视频手机在线观看| 男女性色大片免费观看一区二区| 97超碰在线免费观看| 免费看污黄网站在线观看| 欧美日韩亚洲丝袜制服| 色综合久久一区二区三区| 91精品国产免费| 亚洲福利一二三区| 国产农村妇女精品一区| 97人人爽人人澡人人精品| 成人av影院在线观看| 黄色av电影在线观看| 一级特黄aaa大片在线观看| www.xxx麻豆| 精品精品欲导航| 欧美理论片在线播放| 亚洲国产精品18久久久久久| 情se视频网在线观看| 国产又大又长又粗又黄| h在线观看视频免费网站| 九色91播放| 欧美 亚欧 日韩视频在线| 浮妇高潮喷白浆视频| 中文字幕乱视频| 国产福利视频导航| 日韩精品一区二区三区不卡| 午夜精品一区二区三区在线观看| 精品人妻人人做人人爽| 日韩精品免费一区二区三区| 在线中文字幕电影| eeuss影院在线观看第一页| 国产1卡2卡三卡四卡网站| 欧美日本不卡视频| 欧洲av在线播放| 久久久久久国产精品日本| 久久国产柳州莫菁门| 日本福利午夜视频在线| 中文字幕一区二区三区四区| 女厕盗摄一区二区三区| 国产熟人av一二三区| 亚洲视频你懂的| 欧美一级专区免费大片| 99久久国产宗和精品1上映| 日韩视频一区二区三区在线播放| 狠狠狠狠狠狠操| 视频区小说区图片区| 久久久久亚洲| 91久热免费在线视频| 日韩中文字幕av在线| 国产精品欧美一区二区三区| 日日躁夜夜躁aaaabbbb| 日韩手机在线视频| 精品无人区一区二区三区| 国产中文在线观看| 亚洲黑人在线| 日韩电影免费网站| 国产精品视频一区二区三区麻豆| 8x8x成人免费视频| 日韩电影中文 亚洲精品乱码| 欧美精品videossex88| 午夜欧美福利视频| 91久久极品少妇xxxxⅹ软件| 日韩在线一区二区三区免费视频| 无套白嫩进入乌克兰美女| 成人日韩视频| 久久久久久久蜜桃| 日韩欧美中文字幕精品| 欧美大肥婆大肥bbbbb| 日本视频一区二区在线观看| 波多野结衣在线aⅴ中文字幕不卡| 久久天堂夜夜一本婷婷麻豆| 国卡一卡二卡三免费网站| 不卡精品视频| 成人片在线免费看| 一区二区三区欧美日韩| 亚洲美女中文字幕| 国产精品jvid在线观看| 99久久99热这里只有精品| 欧美色xxxx| 亚洲人成人无码网www国产| 午夜电影久久久| 中文在线观看免费网站| 精品久久久久久久久久ntr影视| 欧美日韩国产免费| 日韩午夜视频在线观看| 久热re国产手机在线观看| 欧美oldwomenvideos| 国产精品久久久久久久久久直播| 欧美性在线观看| 成人国产精品免费观看动漫| 黄色特一级视频| 欧美激情喷水视频| 久久综合狠狠综合久久综青草| 欧美激情成人动漫| 日韩三级影视基地| 欧美精品在欧美一区二区| 日本vs亚洲vs韩国一区三区二区| 91精品久久久久久| 九九视频免费观看视频精品| 欧美日韩在线视频观看| 欧美高清视频在线观看| 韩国19禁主播vip福利视频| 波多野结衣有码| 性感美女福利视频| 麻豆理论在线观看| 精品高清视频| 日韩三级久久| 成人全视频免费观看在线看| 2019日本中文字幕| 成人在色线视频在线观看免费大全| 黄色直播在线| 大肉大捧一进一出好爽视频| 亚洲图片有声小说| av 日韩 人妻 黑人 综合 无码| 国产成人无码一区二区在线播放| 97久精品国产片一区二区三区| 国产永久免费观看| 欧美日韩一区二区在线观看| 国产精品一区二区精品视频观看| 一区二区三区四区在线| 亚洲欧美成人一区二区三区| 精品网站在线看| 中文字幕在线免费观看| 欧美午夜黄色| 91精品导航| 欧美特黄aaaaaaaa大片| 国产美女视频一区| 欧美国产欧美亚州国产日韩mv天天看完整| 国内精品伊人久久久久影院对白| 好吊的妞视频这里都有| 免费一级淫片aaa片毛片a级| 密臀av一区二区三区| 精品国模一区二区三区| 国产福利片在线观看| 久久久影院免费| 国产免费999| 精品视频一区二区三区在线观看| 欧美精品免费在线| 丝袜+亚洲+另类+欧美+变态| 69视频免费在线观看| 成人影院在线观看视频| av文字幕在线观看| 粉嫩在线一区二区三区视频| 一本大道久久a久久精品| 精品视频在线观看免费| 国产成人无码一区二区三区在线| 91香蕉视频污在线观看| 日韩av网站在线| 亚洲激情免费视频| 综合五月激情网| 日本视频网站在线观看| 精品国产欧美一区二区三区成人| 性生交免费视频| 亚洲成人a级网| 国产又粗又长又爽| 神马久久久久久久| 国精产品一区一区三区视频| 亚洲国产精品成人天堂| 国产精品美女999| 午夜亚洲成人| 成年永久一区二区三区免费视频| 久久99国产精品久久| 国产乱码77777777| 在线播放av片| 亚洲一卡二卡三卡| 精品黑人一区二区三区在线观看| av在线免费播放| 久久久精品毛片| 亚洲一卡二卡三卡四卡无卡久久| 无码人妻av一区二区三区波多野| 国产一区二区在线视频你懂的| 久久久精品网| 波多野结衣在线观看| 欧美日本国产在线| 国产精品乱人伦| 一级特黄aaaaaa大片| 日韩精品久久久久久久电影99爱| 人人爱人人干婷婷丁香亚洲| 欧美一区二视频在线免费观看| 污污影院在线观看| 日韩电影在线播放| 一二三四社区在线视频| 精品视频免费在线| 成人毛片老司机大片| 国产美女黄色| 精品av中文字幕在线毛片| 亚洲天堂精品一区| av久久网站| 黄色成人免费观看| 免费观看国产精品视频| 国产精品免费一区二区三区在线观看| 欧美日一区二区三区在线观看国产免| 亚洲第九十七页| 国产女人18水真多毛片18精品| 在线播放豆国产99亚洲| 欧美精品在线观看播放| 欧美日韩破处| 韩国日本美国免费毛片| 日韩毛片中文字幕| 超清福利视频| 91大神影片| 2014亚洲天堂| 日韩欧美国产精品一区| 久久久久久久久久久久久夜| 免费黄色av网站| 国产精品粉嫩av| 亚洲手机视频| 国产美女裸体无遮挡免费视频| 欧美精品videossex少妇| 国产精品第七影院| 不卡av日日日| 日批视频在线播放| 久久国产精品一区二区| 久久er精品视频| 国产精品久久久久久久龚玥菲| av中文一区二区三区| 国产女主播在线播放| 欧美日韩国产精品专区| 欧美一二三区视频| 久草视频免费在线观看| 蜜桃视频在线观看一区二区| 国产裸体歌舞团一区二区| 欧美激情20| 精品视频在线观看一区| 成人全视频在线观看在线播放高清| 欧美二区在线播放| 日韩专区av| 最新天堂网www| 久久一区二区三区四区五区| av手机在线看| 国产精品户外野外| 一区二区日韩av| 欧美wwwww| 色先锋影音岛国av资源| 成人xvideos免费视频| 噜噜噜久久,亚洲精品国产品| 久久密一区二区三区| 国产视频网站在线观看| 国产极品一区| h视频网站在线观看| 国产精品一区二区在线观看不卡| 四虎最新网站| 欧美精品九九99久久| 亚洲欧洲午夜一线一品| 激情综合闲人网|