欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql 性能參數(shù)配置方式

 更新時(shí)間:2021年01月16日 11:36:30   作者:大壯vip  
這篇文章主要介紹了postgresql 性能參數(shù)配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

查詢Linux服務(wù)器配置

在進(jìn)行性能調(diào)優(yōu)之前,需要清楚知道服務(wù)器的配置信息,比如說 CPU,內(nèi)存,服務(wù)器版本等信息。

查詢系統(tǒng)版本信息

root@ubuntu160:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty

Linux查看物理CPU個(gè)數(shù)、核數(shù)、邏輯CPU個(gè)數(shù)

# 總核數(shù) = 物理CPU個(gè)數(shù) X 每顆物理CPU的核數(shù) 
# 總邏輯CPU數(shù) = 物理CPU個(gè)數(shù) X 每顆物理CPU的核數(shù) X 超線程數(shù)
 
# 查看物理CPU個(gè)數(shù)
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每個(gè)物理CPU中core的個(gè)數(shù)(即核數(shù))
cat /proc/cpuinfo| grep "cpu cores"| uniq
 
# 查看邏輯CPU的個(gè)數(shù)
cat /proc/cpuinfo| grep "processor"| wc -l

查詢內(nèi)存信息

cat /proc/meminfo

PostgreSQL配置參數(shù)查看方式

--查看所有數(shù)據(jù)庫參數(shù)的值
show all; 

PostgreSQL性能調(diào)優(yōu)重要的配置參數(shù)

該表格來自網(wǎng)上大神整理的:

選項(xiàng) 默認(rèn)值 說明 是否優(yōu)化 原因
max_connections 100 允許客戶端連接的最大數(shù)目 因?yàn)樵跍y(cè)試的過程中,100個(gè)連接已經(jīng)足夠
fsync on 強(qiáng)制把數(shù)據(jù)同步更新到磁盤 因?yàn)橄到y(tǒng)的IO壓力很大,為了更好的測(cè)試其他配置的影響,把改參數(shù)改為off
shared_buffers 24MB 決定有多少內(nèi)存可以被PostgreSQL用于緩存數(shù)據(jù)(推薦內(nèi)存的1/4,不超過內(nèi)存的1/2) 在IO壓力很大的情況下,提高該值可以減少IO
work_mem 1MB 使內(nèi)部排序和一些復(fù)雜的查詢都在這個(gè)buffer中完成,不夠要適可而止,每個(gè)連接都要用這么大的 有助提高排序等操作的速度,并且減低IO
effective_cache_size 128MB 優(yōu)化器假設(shè)一個(gè)查詢可以用的最大內(nèi)存,和shared_buffers無關(guān)(推薦內(nèi)存的1/2) 設(shè)置稍大,優(yōu)化器更傾向使用索引掃描而不是順序掃描
maintenance_work_mem 16MB 這里定義的內(nèi)存只是被VACUUM等耗費(fèi)資源較多的命令調(diào)用時(shí)使用 把該值調(diào)大,能加快命令的執(zhí)行
wal_buffer 768kB 日志緩存區(qū)的大小 可以降低IO,如果遇上比較多的并發(fā)短事務(wù),應(yīng)該和commit_delay一起用
checkpoint_segments 3 設(shè)置wal log的最大數(shù)量數(shù)(一個(gè)log的大小為16M) 默認(rèn)的48M的緩存是一個(gè)嚴(yán)重的瓶頸,基本上都要設(shè)置為10以上
checkpoint_completion_target 0.5 表示checkpoint的完成時(shí)間要在兩個(gè)checkpoint間隔時(shí)間的N%內(nèi)完成 能降低平均寫入的開銷
commit_delay 0 事務(wù)提交后,日志寫到wal log上到wal_buffer寫入到磁盤的時(shí)間間隔。需要配合commit_sibling 能夠一次寫入多個(gè)事務(wù),減少IO,提高性能
commit_siblings 5 設(shè)置觸發(fā)commit_delay的并發(fā)事務(wù)數(shù),根據(jù)并發(fā)事務(wù)多少來配置 減少IO,提高性能

當(dāng)然我這邊也有一份前面老員工牛人整理的來看一下怎么配置。

PostgreSQL配置參數(shù)修改的方式

1.修改配置文件

在配置文件C:\PostgreSQL\data\pg96\postgresql.conf 中直接修改,修改前記得備份一下原文件,因?yàn)槟悴恢酪馔夂兔魈觳恢滥膫€(gè)會(huì)先來。修改完成之后,記得重啟數(shù)據(jù)庫哦。

2.命令行的修改方式

ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }

例如:我們現(xiàn)在要修改 maintenance_work_mem

--參數(shù)
show all;
 
show maintenance_work_mem;
--注意這里的設(shè)置不會(huì)改變postgresql.conf,只會(huì)改變postgresql.conf
ALTER SYSTEM SET maintenance_work_mem= 1048576;
 
--重啟數(shù)據(jù)庫
show maintenance_work_mem; 
 
--取消postgresql.auto.conf的參數(shù)設(shè)置
ALTER SYSTEM SET maintenance_work_mem= default;

好的,那我們來

cd /home/postgres/pgsql/data
cat postgresql.conf

superuser_reserved_connections = 3
unix_socket_directory = '/var/lib/pgsql/current/data/unix_socket'
unix_socket_permissions = 0700
log_min_duration_statement = 10000ms
 
deadlock_timeout = 5s
track_activity_query_size = 10000
stats_temp_directory = 'pg_stat_tmp'
 
autovacuum = on
log_autovacuum_min_duration = 0
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all
 
track_activities = on
track_counts = on
track_io_timing = on 
 
#log parameter
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB
log_checkpoints = on
log_lock_waits = on
 
#性能參數(shù)調(diào)整
 
shared_buffers = 16384MB 
temp_buffers = 1024MB 
work_mem = 2048MB 
maintenance_work_mem = 4096MB

保存和重啟。因?yàn)槲业氖潜镜販y(cè)試的機(jī)器并不是最后線上的,最后線上的一定會(huì)這么用的。

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

相關(guān)文章

  • postgresql 中round函數(shù)的用法說明

    postgresql 中round函數(shù)的用法說明

    這篇文章主要介紹了postgresql 中round函數(shù)的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostGreSql 判斷字符串中是否有中文的案例

    PostGreSql 判斷字符串中是否有中文的案例

    這篇文章主要介紹了PostGreSql 判斷字符串中是否有中文的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • PostgreSQL對(duì)數(shù)組元素聚合基本方法示例

    PostgreSQL對(duì)數(shù)組元素聚合基本方法示例

    這篇文章主要為大家介紹了PostgreSQL對(duì)數(shù)組元素聚合基本方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • PostgreSQL怎么創(chuàng)建分區(qū)表詳解

    PostgreSQL怎么創(chuàng)建分區(qū)表詳解

    數(shù)據(jù)庫表分區(qū)把一個(gè)大的物理表分成若干個(gè)小的物理表,并使得這些小物理表在邏輯上可以被當(dāng)成一張表來使用,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL怎么創(chuàng)建分區(qū)表的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • SpringBoot3集成PostgreSQL的詳細(xì)過程

    SpringBoot3集成PostgreSQL的詳細(xì)過程

    PostgreSQL是一個(gè)功能強(qiáng)大的開源數(shù)據(jù)庫系統(tǒng),具有可靠性、穩(wěn)定性、數(shù)據(jù)一致性等特點(diǎn),且可以運(yùn)行在所有主流操作系統(tǒng)上,包括Linux、Unix、Windows等,這篇文章主要介紹了SpringBoot3集成PostgreSQL,需要的朋友可以參考下
    2024-03-03
  • PGSQL 實(shí)現(xiàn)查詢今天,昨天的數(shù)據(jù),一個(gè)月之內(nèi)的數(shù)據(jù)

    PGSQL 實(shí)現(xiàn)查詢今天,昨天的數(shù)據(jù),一個(gè)月之內(nèi)的數(shù)據(jù)

    這篇文章主要介紹了PGSQL 實(shí)現(xiàn)查詢今天,昨天的數(shù)據(jù),一個(gè)月之內(nèi)的數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Postgresql開啟SQL執(zhí)行語句收集過程

    Postgresql開啟SQL執(zhí)行語句收集過程

    本文介紹如何修改PostgreSQL的配置文件來啟用SQL執(zhí)行語句的日志記錄,包括打開配置文件、修改日志相關(guān)設(shè)置以及查看日志文件的方法,關(guān)鍵步驟包括刪除注釋符號(hào)、設(shè)定日志存儲(chǔ)路徑和文件名、選擇記錄的SQL語句類型,此操作有助于數(shù)據(jù)庫管理和問題調(diào)試
    2024-10-10
  • postgresql 12版本搭建及主備部署操作

    postgresql 12版本搭建及主備部署操作

    這篇文章主要介紹了postgresql 12版本搭建及主備部署操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSql觸發(fā)器創(chuàng)建、使用以及刪除示例詳解

    PostgreSql觸發(fā)器創(chuàng)建、使用以及刪除示例詳解

    在PostgreSQL中觸發(fā)器函數(shù)是一個(gè)沒有參數(shù)并且返回trigger類型的函數(shù),這篇文章主要給大家介紹了關(guān)于PostgreSql觸發(fā)器創(chuàng)建、使用以及刪除的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • postgresql insert into select無法使用并行查詢的解決

    postgresql insert into select無法使用并行查詢的解決

    這篇文章主要介紹了postgresql insert into select無法使用并行查詢的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論