国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > PostgreSQL > 正文

CentOS中運(yùn)行PostgreSQL需要修改的內(nèi)核參數(shù)及配置腳本分享

2020-03-12 23:54:35
字體:
供稿:網(wǎng)友
這篇文章主要介紹了CentOS中運(yùn)行PostgreSQL需要修改的內(nèi)核參數(shù)及配置腳本分享,本文從系統(tǒng)資源限制類和內(nèi)存參數(shù)優(yōu)化類來進(jìn)行說明,需要的朋友可以參考下
 
 

PostgreSQL在CentOS上部署的時(shí)候,需要設(shè)置一些操作系統(tǒng)的參數(shù),官方文檔上列舉了一些(傳送門)。除了這些,還有一些其他的設(shè)置,如單個(gè)用戶允許的最大進(jìn)程數(shù),單個(gè)進(jìn)程的最大句柄數(shù)等,這些一般也需要調(diào)整,否則系統(tǒng)會(huì)在一些條件下出現(xiàn)問題,或者性能下降。下面從系統(tǒng)資源限制類和內(nèi)存參數(shù)優(yōu)化類來進(jìn)行說明.

系統(tǒng)資源限制類

1.單個(gè)用戶允許的最大進(jìn)程數(shù):linux系統(tǒng)默認(rèn)是1024,如果PG的最大連接數(shù)超過1024,則實(shí)際的連接數(shù)會(huì)小于1024(PG的postmaster進(jìn)程,checkpointer進(jìn)程,bgwriter進(jìn)程,WAL發(fā)送進(jìn)程,日志進(jìn)程等會(huì)占用幾個(gè)進(jìn)程數(shù),所以給客戶段的連接數(shù)會(huì)小于1024),超過的連接請(qǐng)求會(huì)報(bào)資源不夠的錯(cuò)誤信息.所以為了避免這種情況,需要調(diào)整PG的linux用戶的可以使用的進(jìn)程數(shù),一般通過limit.conf進(jìn)行配置.

2.單個(gè)進(jìn)程可以打開的最大文件數(shù):linux默認(rèn)是1024,在SQL很復(fù)雜,打開很多表,或者訪問很多分區(qū)時(shí),會(huì)出現(xiàn)句柄數(shù)不夠的錯(cuò)誤.

內(nèi)存參數(shù)優(yōu)化類

1.vm.dirty_background_ratio:這個(gè)參數(shù)控制當(dāng)系統(tǒng)內(nèi)存寫臟的比例達(dá)到多少時(shí),會(huì)啟動(dòng)后臺(tái)進(jìn)程將buffer刷到磁盤.默認(rèn)是10%,對(duì)于大內(nèi)存的機(jī)器,如超過64G,10%的內(nèi)存為6.4,一次把6.4G數(shù)據(jù)寫入磁盤,會(huì)瞬間產(chǎn)生大量磁盤IO,使系統(tǒng)失去響應(yīng),影響其他進(jìn)程.所以一般8G以上內(nèi)存的機(jī)器,推薦設(shè)置為1%.

2.vm.dirty_background_types:這個(gè)參數(shù)與上面的類似,只不過這個(gè)參數(shù)可以設(shè)置內(nèi)存臟掉的絕對(duì)值.著兩個(gè)參數(shù)其中一個(gè)為0,則另外一個(gè)會(huì)起作用.

下面是配置這幾個(gè)參數(shù)的腳本,在CentOS 6.x上測(cè)試OK.

 

復(fù)制代碼代碼如下:

#limit process to 4096 instead 1024,for we may have 1024+ connections
echo "postgres        soft    nproc           4096" >> /etc/security/lmits.conf
 
#for big query,pg may open more than 1024 files per session
echo "postgres        hard    nofile          65535" >> /etc/security/limits.conf
echo "postgres        soft    nofile          65535" >> /etc/security/limits.conf
 
#default is 10% of memory,to smooth the io peek value,
#set this to tune background process flush buffer more frequently
echo "vm.dirty_background_ratio=0" >> /etc/sysctl.conf
echo "vm.dirty_background_bytes=1024000000" >> /etc/sysctl.conf
 
#make the sysctl.conf setting take effect
sysctl -p
 
#make limit to take effect
/etc/init.d/sshd restart

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 海安县| 乡宁县| 东港市| 保德县| 基隆市| 韶山市| 罗平县| 济阳县| 高尔夫| 柳林县| 大安市| 余干县| 临湘市| 镇平县| 红安县| 拉萨市| 安乡县| 容城县| 商南县| 岑溪市| 云和县| 曲周县| 蕉岭县| 富裕县| 西林县| 石渠县| 信丰县| 万山特区| 福建省| 绥阳县| 延长县| 英吉沙县| 磴口县| 昆山市| 屏南县| 鸡东县| 清丰县| 马边| 青海省| 弋阳县| 罗江县|