成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

PostgreSQL與Pgbouncer對比使用

本篇內(nèi)容介紹了“PostgreSQL與Pgbouncer對比使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

目前創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、洪雅網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

數(shù)據(jù)庫的連接池,眾所周知沒有不需要的,所以對于數(shù)據(jù)庫的連接池給出答案,一定是需要的。

在給出答案的同時,如果有人問你為什么要連接池,到底連接池起到什么作用,Postgresql 到底那個連接池用的不錯?  如果你一時回答不了這些問題,follow me .

首先我們假設(shè),如果我們的數(shù)據(jù)庫沒有連接池會怎么樣?

數(shù)據(jù)庫在沒有任何連接池的情況下,應(yīng)用程序必須直接訪問數(shù)據(jù)庫來建立連接。當(dāng)然我們可能認(rèn)為這是連接到數(shù)據(jù)庫快速的方法,可是到底是這樣的嗎?你在打開一個和數(shù)據(jù)庫直接的連接,說明本身數(shù)據(jù)庫沒有給你開啟一個連接,而如此的情況下打開的一個連接的消耗,關(guān)閉一個連接的消耗,或者你使用加密的連接,還要有其他相關(guān)的消耗,而這樣的消耗,伴隨著你打開的連接越多,則消耗的就越多。尤其是互聯(lián)網(wǎng)上的一些短連接,可能同時并發(fā)的連接多,但占用這個連接的時間很短。這就會引起另一個問題,你設(shè)置的連接數(shù)和突入起來的連接數(shù)不匹配的情況,最后就會造成拒絕連接的問題。

所以這就對數(shù)據(jù)庫的連接提出一個問題,復(fù)用,連接的復(fù)用對數(shù)據(jù)庫非常重要,這可以降低某些快速連接,快速斷開的連接的數(shù)據(jù)庫訪問對數(shù)據(jù)庫性能的消耗和產(chǎn)生的一些不必要的麻煩。

說到這里如果你是 developer 估計很快會對我下面的東西失去興趣,因為你會說,我有連接池,每個程序的框架都有連接池,我不需要你的連接池。

really ? 你們的那些叫 Framework pooling  我今天說的是Persistent 連接與standlone 連接池。

為什么我會提出這個問題,因為一個數(shù)據(jù)庫不可能僅僅接受你一個程序的連接,而一個程序必然應(yīng)該有自己的連接池,但一個數(shù)據(jù)庫可不僅僅為你一個應(yīng)用的程序服務(wù),所以當(dāng)數(shù)據(jù)庫接受多個從程序來的連接,本身對數(shù)據(jù)庫的保護(hù)在哪里?

PG 在接受連接的時候,會分配出一些內(nèi)存已應(yīng)對連接帶來的一些數(shù)據(jù)的使用的針對這個連接的內(nèi)存消耗,其實別的數(shù)據(jù)庫也是一樣。PGA  SGA 這樣的概念在 PG 中也是存在的。

所以過多的連接必然會消耗PGA,導(dǎo)致內(nèi)存出現(xiàn)泄露,導(dǎo)致一些重大的數(shù)據(jù)庫性能和安全的問題。

通過軟件的架構(gòu)的連接池對數(shù)據(jù)庫進(jìn)行連接(圖一)

PostgreSQL與Pgbouncer對比使用

采用軟件連接池的方式對數(shù)據(jù)庫進(jìn)行連接(圖二)

PostgreSQL與Pgbouncer對比使用

目前的主要的PostgreSQL的連接池主要有PGPOOL-II  和 PgBouncer

兩種,PgBouncer. 與 PGPOOL 對比 PgBouncer 的名氣要小很多,其實他的功能對比 PGPOOL 也是要精簡的,那為什么推薦 PgBouncer 而不是PGPOOL,主要是PgBouncer 在連接池方面做的不比PGPOOL-II 要差,并且安裝配置管理都要更為簡單,配合 Repmgr 可以進(jìn)行 PostgreSQL 超級高可用模式,這算是PostgreSQL 的一種高可用的解決方案。

 安裝是很簡單的

$ ./configure --prefix=/usr/local --with-libevent=libevent-prefix
$ make
$ make install

廢話不說我們先開始配置先使用起來

我們配置幾點   1 2 3

1  建立一個連接當(dāng)前數(shù)據(jù)庫的賬戶

2  配置配置文件

3  配置賬戶文件

PgBouncer 有一個配置文件 pgbouncer.ini  還有一個用戶賬戶文件  userlist.txt

配置的ini 文件有兩塊,一塊是database 一塊是 pgbouncer database 是配置一個連接實際數(shù)據(jù)庫的認(rèn)證,另一個是配置pgbouncer 監(jiān)聽的信息以及一些基本的配置

[databases]

test_database = host=192.168.198.123 port=5432 dbname=postgre user=admin password='password'

[pgbouncer]

listen_port = 1818

listen_addr = 192.168.198.123

auth_type = md5

auth_file = /usr/local/pgbouncer/share/doc/pgbouncer/userlist.txt

logfile = /usr/local/pgbouncer/pgbouncer.log

pidfile =  /usr/local/pgbouncer/pgbouncer.pid

admin_users = admin

pool_mode = Transaction

然后我們在userlist.txt 文件中將用以連接服務(wù)器的賬戶和密碼填入

Ok我們可以通過pgbouncer 來連接到 PG

PostgreSQL與Pgbouncer對比使用

上面啟動pgbouncer 

然后我們嘗試,登錄到數(shù)據(jù)庫中

 psql -h 192.168.198.123 -p 1818 -U admin test_database

在登錄后,我們可以查看pgbouncer 本身的數(shù)據(jù)庫,里面有一些命令是pgbouncer 獨有的。

PostgreSQL與Pgbouncer對比使用

通過一些命令我們可以了解到服務(wù)器的一些配置情況

PostgreSQL與Pgbouncer對比使用

而最終的問題是,使用PGBOUNCER 到底有什么好處

1 pg現(xiàn)在有5個連接通過PG 連入 實體服務(wù)器

PostgreSQL與Pgbouncer對比使用

2 實體服務(wù)器現(xiàn)在拋出系統(tǒng)的連接,以及本地的連接,真正外部的連接只有4個

PostgreSQL與Pgbouncer對比使用

這說明數(shù)據(jù)庫接受的連接和實際連接數(shù)據(jù)庫的客戶端是有出入的,實際連接的客戶端的數(shù)據(jù)量要大于數(shù)據(jù)庫體現(xiàn)的連接數(shù)據(jù)庫的量,說明Pgbouncer起到了連接池的作用。

“PostgreSQL與Pgbouncer對比使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

新聞名稱:PostgreSQL與Pgbouncer對比使用
轉(zhuǎn)載源于:http://jinyejixie.com/article42/gpgihc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、搜索引擎優(yōu)化、移動網(wǎng)站建設(shè)、網(wǎng)站排名、服務(wù)器托管、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
金门县| 建瓯市| 峡江县| 凌云县| 南江县| 徐闻县| 侯马市| 紫金县| 剑川县| 白水县| 水城县| 太谷县| 剑川县| 揭西县| 朝阳区| 乌兰浩特市| 昭通市| 高安市| 南郑县| 株洲县| 刚察县| 苍山县| 丹棱县| 武义县| 香港| 墨竹工卡县| 苍梧县| 绥中县| 荣昌县| 拜泉县| 乐都县| 新河县| 林口县| 宿松县| 乃东县| 沙田区| 吴忠市| 家居| 古田县| 新乡县| 卢氏县|