婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > pgpool復制和負載均衡操作

pgpool復制和負載均衡操作

熱門標簽:地圖標注和圖片名稱的區別 合肥公司外呼系統運營商 辦公外呼電話系統 漯河外呼電話系統 美容工作室地圖標注 外呼調研系統 重慶自動外呼系統定制 打電話智能電銷機器人授權 海豐有多少商家沒有地圖標注

簡介

pgpool-II是一個位于postgresql數據庫和客戶端之間的中間件,可以提供一下幾個功能:

1.連接池

pgpool-II保持已經連接到postgresql數據庫的連接,并在使用相同參數連接進來時重用他們,減少了連接開銷,并增加了系統的總體吞吐量。

2.復制

pgpool-II可以管理多個postgresql數據庫,激活復制功能并使在2臺或多臺postgresql節點中建立一個實時備份稱為可能,這樣,如果其中一臺節點失效,服務可以不被終端繼續運行。

3.負載均衡

如果數據庫進行了復制,則在任何一臺服務器中執行一個select查詢將返回相同的結果。pgpool-II利用了復制的功能以降低每臺postgresql服務器的負載。它通過分發select查詢到所有可用的服務器中,增強了系統的整體吞吐量。在理想的狀況下,讀性能應該和postgresql數量成正比。負載均衡功能在大量用戶同時執行很多讀查詢的場景中工作效果最好。

4.限制超過限度的連接

postgresql會限制當前的最大連接數,當到達這個數量時,新的連接將被拒絕。增加這個連接數會增加資源消耗并且對系統的全局性能有一定的負面影響。pgpool-II也支持限制最大連接數,但她的做法是將連接放入隊列,而不是立即返回一個錯誤。

另外,pgpool-II也支持并行查詢,數據被分割到多臺服務器上,所以一個查詢可以在多臺服務器上同時執行,以減少總體執行時間。并行查詢在查詢大規模數據的時候非常有效。

測試環境

IP 應用 版本
10.10.10.56 postgresql 9.2.15
10.10.10.57 postgresql 9.2.15
10.10.10.56 pgpool-II 3.5

環境說明:兩臺postgresql,pgpool和其中一臺postgresql在一臺服務器上。

測試需求:測試pgpool實現postgresql的復制和負載均衡

安裝pgpool

1.源碼安裝

wget http://www.pgpool.net/download.php?f=pgpool-II-3.5.3.tar.gz
tar -zxvf pgpool-II-3.5.3.tar.gz 
cd pgpool-II-3.5.3
./configure --prefix=/usr/local/pgpool --with-openssl
#報錯configure: error: libpq is not installed or libpq is old
#安裝 yum install postgresql-devel即可
make  make install

2.安裝pgpool-regclass

使用 PostgreSQL 8.0 至 PostgreSQL 9.3,強烈推薦在需要訪問的 PostgreSQL 中安裝 pgpool_regclass 函數,因為它被 pgpool-II 內部使用。 如果不這樣做,在不同的 schema 中處理相同的表名會出現問題(臨時表不會出問題);而PostgreSQL 9.4或更高版本則不需要

cd pgpool-II-3.5.3/src/sql/pgpool-regclass
make  make install

-bash-4.2$ psql -f pgpool-regclass.sql template1
或
psql template1
=# CREATE EXTENSION pgpool_regclass;

應在每臺通過 pgpool-II 訪問的數據庫中執行 pgpool-regclass.sql 或者 CREATE EXTENSION。 你不需要在你執行“psql -f pgpool-regclass.sql template1” 或者 CREATE EXTENSION 后建立的數據庫中這么做, 因為這個模板數據庫將被克隆成新建的數據庫。

3.建立insert_lock表

如果你在復制模式中使用了 insert_lock ,強烈推薦建立 pgpool_catalog.insert_lock 表,用于互斥。 到現在為止,insert_lock 還能夠工作。但是,在這種情況下,pgpool-II 需要鎖定插入的目標表。 這種行為和 pgpool-II 2.2 和 2.3 系列類似。由于表鎖與 VACUUM 沖突,所以 INSERT 操作可能因而等待很長時間。

cd pgpool-II-3.5.3/src/sql/
psql -f insert_lock.sql tempalte1

應在在每臺通過 pgpool-II 訪問的數據庫中執行 insert_lock.sql。 你不需要在你執行“psql -f insert_lock.sql template1”后建立的數據庫中這么做, 因為這個模板數據庫將被克隆成新建的數據庫。

4.安裝pgpool_recovery

如果你使用在線回復,需要以下一些函數: pgpool_recovery, pgpool_remote_start, pgpool_switch_xlog。

另外,附帶工具pgpoolAdmin 控制 pgpool-II 啟停和重新連接后端的 PostgreSQL 節點, 它需要函數 pgpool_pgctl;而且 pgpoolAdmin 需要函數 pgpool_pgctl 來對 PostgreSQL 進行停止/重啟/重新加載參數操作。

可以使用和安裝 pgpool_regclass 一樣的方法安裝著四個函數。 不過和 pgpool_regclass 不同的是,你只需要在 template1 數據庫中安裝這些函數。

cd pgpool-II-3.5.3/src/sql/pgpool-recovery
make  make install
psql -f pgpool-recovery.sql template1
或
psql template1
=# CREATE EXTENSION pgpool_recovery

配置pgpool

1.配置pcp.conf

pgpool提供pcp接口,可以查看,管理pgpool的狀態,并且可以遠程操作pgpool,pcp.conf用來對pcp相關命令認證的文件

cd /usr/local/pgpool
cp etc/pcp.conf.sample etc/pcp.conf
bin/pg_md5 -m -u pgpool -p
會自動生成pool_passwd
postgres:md533c14731dfdfsdfsdf91e8d10c4bff5
cat etc/pcp.conf
pgpool:md533c14731dfdfsdfsdf91e8d10c4bff5

2.配置pool_hba.conf

通過pool_hba.conf可以進行相關權限設置,類似于postgresql的pg_hba.conf

cd /usr/local/pgpool
cp etc/pool_hba.conf.sample etc/pool_hba.conf
bin/pg_md5 -m -u postgres -p
會自動生成pool_passwd
postgres:md533c14731dfdfsdfsdf91e8d10c4bff5

**注意:

1.pool_hba.conf中的加密方式必須和pg_hba.conf中的加密方式一樣,都為mds、trust或其他方式。若不一樣會報錯。

2.pool_hba.conf中的用戶必須在postgresql數據庫中存在

**

3.配置pgpool.conf

cd /usr/local/pgpool
cp etc/pgpool.conf.sample etc/pgpool.conf
#創建相關目錄
mkdir -p /var/run/pgpool
mkdir -p /usr/local/pgpool/logs
vim etc/pgpool.conf
listen_addresses = '*'
port = 9999
socket_dir = '/tmp'
listen_backlog_multiplier = 2
serialize_accept = off
pcp_listen_addresses = '*'
pcp_port = 9898
pcp_socket_dir = '/tmp'
backend_hostname0 = '10.10.10.56'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/data/pgsql/data'
backend_flag0 = 'ALLOW_TO_FAILOVER'
backend_hostname1 = '10.10.10.57'
backend_port1 = 5432
backend_weight1 = 1
backend_data_directory1 = '/data/pgsql/data'
backend_flag1 = 'ALLOW_TO_FAILOVER'
enable_pool_hba = on
pool_passwd = 'pool_passwd'
debug_level = 0
pid_file_name = '/var/run/pgpool/pgpool.pid'
logdir = '/usr/local/pgpool/logs'
replication_mode = on
load_balance_mode = on
master_slave_mode = off

其中:

replication_mode = on 復制模式打開,可以在兩臺postgresql數據庫上進行實時備份

load_balance_mode = on 負載均衡模式打開,可以實現負載均衡

3.啟動pgpool

/usr/local/pgpool/bin/pgpool

4.連接pgpool

psql -U postgres -p 9999 -h 10.10.10.56
Password for user postgres: 
psql (9.2.15)
Type "help" for help.
postgres=#

測試

1.創建bench_replication數據庫

psql -U postgres -p 9999 -h 10.10.10.56
Password for user postgres: 
psql (9.2.15)
Type "help" for help.
postgres=#create database bench_replication;

我們可以分別登陸56、57上的postgresql進行查看

psql -U postgres -p 5432 -h 10.10.10.56
Password for user postgres: 
psql (9.2.15)
Type "help" for help.

postgres=# \list
          List of databases
  Name  | Owner | Encoding | Collate | Ctype | Access privileges 
-------------------+----------+----------+-------------+-------------+-----------------------
 bench_replication | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | 
 postgres   | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | 
 template0   | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | =c/postgres   +
     |   |   |    |    | postgres=CTc/postgres
 template1   | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | =c/postgres   +
     |   |   |    |    | postgres=CTc/postgres
(4 rows)

可以看到兩臺postgresql都創建了bench_replication數據庫,因此pgpool的復制是成功的。

2.pgbench測試

#安裝pgbench
yum install postgresql-contrib
pgbench -i -h 10.10.10.56 -U postgres -p 9999 bench_replication

在所有pgsql節點中,下面列出的表和數據都被建立了,說明復制運行正常。

表名 行數
branches 1
tellers 10
accounts 100000
history 0

總結

以上只是簡單介紹了pgpool-II的復制和負載均衡作為入門,還有很多功能沒有介紹,需要我們繼續探索。

補充:pgpool使用中遇到的坑總結

1,復制模式可靠性低

最早時候使用的是復制模式,數據到pgpool然后pgpool分別寫入n個postgres.發現經常出現數據不一致問題,導致最終只有一個數據庫可用

2,online recovery

基于PIRT的online recovery 配置復雜

3,基于流復制的主備模式

這個用到postgres9的新特性,前期配置測試都很easy,failover 也很好用,但是當服務連接上pgpool時,事務往往報錯 postgres error : failed to read kind from backend,這個我在之前的文章中提到過,至今無法解決。

4,連接數的困擾

num_init_children 原來理解成了一個池的大小,如果超過了會自動擴增,但是實際上往往不夠用,確切的說該值也是 pgpool-II 支持的從客戶端發起的最大并發連接數。

所以這個值配的盡量大些,并且對這個值的更改必須重啟pgpool.

5,client_idle_limit不要配置

當一個客戶端在執行最后一條查詢后如果空閑到了 client_idle_limit 秒數, 到這個客戶端的連接將被斷開.連接不應該讓pgpool來斷開,應該是應用主動去斷開。如果讓pgpool去斷開,會導致客戶端不可用。

當然pgpool也有一個好處,能夠快速找到連接的應用。因為每個連接都是單獨的進程,所以啟動后會有num_init_children 個進程可以接受連接

使用# ps -ef |grep pgpool 可以看到

pgpool: wait for connection request 的進程是空進程,等待連接。

pgpool: postgres dbtest 10.115.53.167(51883) idle 這些進程是使用中的進程,并且可以看到是來自哪臺機器,什么用戶,連接的是什么數據庫。

當然使用select * from pg_stat_activity 也能查到 連接情況

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

您可能感興趣的文章:
  • PostgreSQL+Pgpool實現HA主備切換的操作
  • postgresql 實現啟動、狀態查看、關閉
  • 如何查看postgres數據庫端口
  • postgresql連續歸檔及時間點恢復的操作
  • PostgreSQL pg_archivecleanup與清理archivelog的操作
  • 解決PostgreSQL日志信息占用磁盤過大的問題
  • Postgresql 如何清理WAL日志
  • PostgreSQL歸檔配置及自動清理歸檔日志的操作

標簽:來賓 烏海 錦州 晉城 珠海 衡陽 株洲 蚌埠

巨人網絡通訊聲明:本文標題《pgpool復制和負載均衡操作》,本文關鍵詞  pgpool,復制,和,負載,均衡,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pgpool復制和負載均衡操作》相關的同類信息!
  • 本頁收集關于pgpool復制和負載均衡操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产日韩一级| 极品销魂美女一区二区三区| 亚洲自拍偷拍av| 国产三级精品在线| 国产一区二区三区免费观看| 69精品人人人人| 日韩精品国产欧美| 欧美人动与zoxxxx乱| 亚洲人成电影网站色mp4| 岛国一区二区三区| 一区二区在线看| 色综合久久久久综合| 亚洲一区精品在线| 日韩一区二区在线免费观看| 国产一区在线精品| 亚洲欧洲精品一区二区三区不卡| 色婷婷久久久综合中文字幕| 午夜精品一区在线观看| 精品少妇一区二区三区在线视频 | 精品亚洲国产成人av制服丝袜| 精品国内二区三区| 国产一区二区三区在线观看免费| 精品国产乱码久久久久久牛牛| 久久av老司机精品网站导航| 国产视频在线观看一区二区三区| 成人精品国产免费网站| 亚洲欧美日韩在线| 欧美三级电影一区| 经典一区二区三区| 中文字幕不卡在线| 欧美精品在线视频| 国产精品一区二区久久不卡| 自拍偷拍亚洲欧美日韩| 日本久久精品电影| 国产成人亚洲综合a∨猫咪| 国产精品丝袜在线| 欧美性大战久久久| 精品在线播放午夜| 国产精品乱人伦中文| 欧美一区二区三区人| 国产成人精品亚洲777人妖 | 国产在线看一区| 亚洲黄色小说网站| 中文字幕精品—区二区四季| 91精品国产综合久久蜜臀| 国产高清不卡二三区| 男女性色大片免费观看一区二区| 亚洲精品高清在线| 中文字幕中文乱码欧美一区二区| 欧美mv日韩mv国产网站| 欧美绝品在线观看成人午夜影视| 99视频热这里只有精品免费| 国产一区二区精品久久| 秋霞成人午夜伦在线观看| 亚洲午夜电影网| 亚洲婷婷国产精品电影人久久| 精品国产乱码久久久久久闺蜜| 欧美精品久久99久久在免费线| 91国偷自产一区二区三区观看 | 欧美日韩国产一级二级| 97久久超碰国产精品电影| 成人免费视频一区二区| 国产麻豆精品在线| 国产乱码精品一品二品| 久久精品国产澳门| 麻豆91精品视频| 精品一区精品二区高清| 一区二区欧美精品| 国产白丝精品91爽爽久久| 日韩欧美色电影| 欧美日韩色一区| 欧美日韩中文字幕精品| 91福利社在线观看| 色哟哟一区二区三区| 不卡的电视剧免费网站有什么| 国产精品一区免费在线观看| 狠狠色狠狠色综合系列| 精品伊人久久久久7777人| 狠狠色丁香久久婷婷综| 久久国产精品一区二区| 久久精品噜噜噜成人88aⅴ| 免费欧美在线视频| 麻豆一区二区99久久久久| 国产在线一区观看| 成人av资源在线观看| 99re热视频这里只精品| 色婷婷亚洲精品| 欧美一级免费观看| 日韩欧美国产麻豆| 国产三级久久久| 亚洲女人的天堂| 丝袜美腿高跟呻吟高潮一区| 日韩福利电影在线| 国产99久久久精品| 色综合 综合色| 精品免费99久久| 亚洲精品欧美二区三区中文字幕| 蜜桃视频免费观看一区| 99久久国产综合精品女不卡| 在线播放中文一区| 亚洲国产成人私人影院tom| 亚洲一区二区三区免费视频| 国产精品一区二区三区99| 欧美三级午夜理伦三级中视频| 精品国产一区a| 亚洲精品国产品国语在线app| 久久97超碰国产精品超碰| 色综合久久88色综合天天| 久久色中文字幕| 天天综合网 天天综合色| 波多野结衣中文字幕一区二区三区 | 在线一区二区三区四区| 欧美α欧美αv大片| 亚洲一二三专区| 国产成人精品免费| 337p亚洲精品色噜噜狠狠| 中文字幕av一区二区三区高| 午夜精品久久一牛影视| 99精品欧美一区| 日本一区二区免费在线| 亚洲精品国产精品乱码不99| 久草这里只有精品视频| 欧美丝袜丝交足nylons| 亚洲私人黄色宅男| 成a人片国产精品| 精品理论电影在线| 天天色天天爱天天射综合| 色老汉一区二区三区| 中文字幕一区二区三区在线观看 | 精品免费99久久| 日韩av电影天堂| 欧美日韩在线一区二区| 亚洲国产乱码最新视频 | 国产剧情av麻豆香蕉精品| 欧美一二三在线| 日韩国产欧美一区二区三区| 欧美在线播放高清精品| 亚洲午夜在线视频| 在线观看国产一区二区| 亚洲午夜在线观看视频在线| 欧美日本视频在线| 日本美女视频一区二区| 欧美一区二区精品久久911| 五月开心婷婷久久| 日韩一区二区在线免费观看| 免费欧美在线视频| 日韩午夜在线观看视频| 国产九九视频一区二区三区| 中文字幕不卡在线观看| 99久久免费视频.com| 亚洲一级片在线观看| 欧美一级夜夜爽| 国产电影精品久久禁18| 国产精品欧美综合在线| 色哟哟一区二区| 老司机精品视频在线| 国产三级精品视频| 色婷婷国产精品| 日韩专区在线视频| 国产视频在线观看一区二区三区 | 日韩理论片网站| 欧美xfplay| 日韩欧美国产三级电影视频| 中文字幕一区二区在线观看| 成人av集中营| 久久天天做天天爱综合色| 成人做爰69片免费看网站| 国产精品乱码一区二区三区软件| 色综合婷婷久久| 日韩主播视频在线| 国产视频一区在线观看| 欧美性大战xxxxx久久久| 精品一区二区三区免费观看| 亚洲欧洲日韩女同| 日韩精品一区二区三区四区| 成人在线综合网| 午夜在线成人av| 26uuu色噜噜精品一区二区| 国产美女精品一区二区三区| 欧美不卡视频一区| 久久精品亚洲麻豆av一区二区| 国产精品久久久久久久久动漫| 午夜精品福利一区二区蜜股av | 亚洲小说欧美激情另类| 久久久99免费| 7878成人国产在线观看| 成人av在线一区二区三区| 久久综合综合久久综合| 亚洲狠狠爱一区二区三区| 久久九九久久九九| 91精品国产综合久久精品图片| 成人av在线看| 国产精品888| 免费在线成人网| 亚洲已满18点击进入久久| 国产精品久久久久久久第一福利 | 欧美激情一区二区三区不卡 | 欧美激情一区不卡| 精品日韩在线一区| 91精品国产综合久久久久|