相關(guān)閱讀: 王宇,公眾號(hào):IT那活兒pgbouncer的簡單使用(上篇)
su - postgres /usr/local/pgbouncer/bin/pgbouncer -d /usr/local/pgbouncer/conf/pgbouncer.ini [postgres@localhost config]$ pgbouncer -d pgbouncer.ini 2012-08-21 00:29:55.573 4247 LOG File descriptor limit: 1024 (H:1024), max_client_conn: 100, max fds possible: 130 查看日志 tail -f /home/postgres/pgbouncer/pgbouncer.log |
命令介紹
-d 后臺(tái)運(yùn)行
-R 在線重啟
-v 增加冗余信息,會(huì)消耗比較多的時(shí)間
-u 切換到指定的用戶啟動(dòng)
-q 靜默方式,不記錄到stdout。請注意這并不影響記錄詳細(xì),只是stdout是不被使用。在init.d腳本使用
-V 展示版本
-h 展示幫助命令
pgbouncer -d pgbouncer.ini -v ##加-v 可以打印出很多檢查信息,對初使用者,是個(gè)不錯(cuò)的選擇
psql -h 127.0.0.1 -p 6432 -u pgbouncer pgbouncer
(-u 后面接管理員用戶)
[postgres@localhost pgbouncer]$ psql -h 127.0.0.1 -p 1999 -U u_kenyon f_game
Password for user u_kenyon:
psql (9.1.2)
Type "help" for help.
f_game=> d
List of relations
Schema | Name | Type | Owner
------------+-------------+--------+-------------
public | t_kenyon | table | postgres
public | test | table | test
public | test2 | table | postgres
(3 rows)
f_game=> q
參數(shù)使用例子
連接pgbouncer本身的DB
[postgres@localhost config]$ psql -h 127.0.0.1 -p 1999 -U u_kenyon pgbouncer
Password for user u_kenyon:
psql (9.1.2, server 1.5.2/bouncer)
WARNING: psql version 9.1, server version 1.5.
Some psql features might not work.
Type "help" for help.
pgbouncer=# show help;
NOTICE: Console usage
DETAIL:
SHOW HELP|CONFIG|DATABASES|POOLS|CLIENTS|SERVERS|VERSION
SHOW STATS|FDS|SOCKETS|ACTIVE_SOCKETS|LISTS|MEM
SHOW DNS_HOSTS|DNS_ZONES
SET key = arg
RELOAD
PAUSE [ ]
RESUME [ ]
KILL SUSPEND
SHUTDOWN
SHOW
[postgres@localhost config]$ psql -h 127.0.0.1 -p 666 -U u_kenyon pgbouncer Password for user u_kenyon:
psql (9.1.2, server 1.5.2/bouncer)
WARNING: psql version 9.1, server version 1.5.
Some psql features might not work.
Type “help” for help.
pgbouncer=# show help;
NOTICE: Console usage
DETAIL:
SHOW HELP|CONFIG|DATABASES|POOLS|CLIENTS|SERVERS|VERSION
SHOW STATS|FDS|SOCKETS|ACTIVE_SOCKETS|LISTS|MEM
SHOW DNS_HOSTS|DNS_ZONES
SET key = arg
RELOAD
PAUSE [ ]
RESUME [ ]
KILL SUSPEND
SHUTDOWN
SHOW如果在pgbouncer.ini文件進(jìn)行了參數(shù)修改,則使用以下命令重新加載即可:
pgbouncer=# RELOAD;
2) 查看配置文件:
pgbouncer=# show config;
key | value | changeable
----------------------------------+------------------------------------------------------+------------
job_name | pgbouncer | no
conffile | pgbouncer.ini | yes
logfile | /home/postgres/pgbouncer/pgbouncer.log | yes
pidfile | /home/postgres/pgbouncer/pgbouncer.pid | no
listen_addr | 127.0.0.1 | no
listen_port | 1999 | no
listen_backlog | 128 | no
unix_socket_dir | /tmp | no
unix_socket_mode | 511 | no
unix_socket_group | | no
auth_type | md5 | yes
auth_file | /home/postgres/pgbouncer/user.txt | yes
pool_mode | transaction | yes
max_client_conn | 100 | yes
default_pool_size | 20 | yes
min_pool_size | 0 | yes
reserve_pool_size | 0 | yes
reserve_pool_timeout | 5 | yes
syslog | 0 | yes
syslog_facility | daemon | yes
syslog_ident | pgbouncer | yes
user | | no
autodb_idle_timeout | 3600 | yes
server_reset_query | DISCARD ALL | yes
server_check_query | select 1 | yes
server_check_delay | 30 | yes
query_timeout | 0 | yes
query_wait_timeout | 0 | yes
client_idle_timeout | 0 | yes
client_login_timeout | 60 | yes
idle_transaction_timeout | 0 | yes
server_lifetime | 3600 | yes
server_idle_timeout | 600 | yes
server_connect_timeout | 15 | yes
server_login_retry | 15 | yes
server_round_robin | 0 | yes
suspend_timeout | 10 | yes
ignore_startup_parameters | | yes
disable_pqexec | 0 | no
dns_max_ttl | 15 | yes
dns_zone_check_period | 0 | yes
pkt_buf | 2048 | no
sbuf_loopcnt | 5 | yes
tcp_defer_accept | 1 | yes
tcp_socket_buffer | 0 | yes
tcp_keepalive | 1 | yes
tcp_keepcnt | 0 | yes
tcp_keepidle | 0 | yes
tcp_keepintvl | 0 | yes
verbose | 0 | yes
admin_users | u_kenyon | yes
stats_users | | yes
stats_period | 60 | yes
log_connections | 1 | yes
log_disconnections | 1 | yes
log_pooler_errors | 1 | yes
(56 rows)
pgbouncer=# reload;
RELOAD
pgbouncer=#
pgbouncer=# reload;
RELOAD
pgbouncer=#
f_game=> select count(1) from pg_stat_activity;
count
---------------------
2
(1 row)
通過pgbouncer數(shù)據(jù)庫show clients; 和 server_main 數(shù)據(jù)庫中select count (1) from pg_stat_activity;可以看到,DB的連接大幅下降了,轉(zhuǎn)到pgbouncer了。
psql -h 127.0.0.1 -p 6000 -U user pgbouncer
pgbouncer=# show config;
pgbouncer=# show stats;
database :數(shù)據(jù)庫名稱
total_requests:
pgbouncer匯聚SQL請求的總數(shù)
total_received:
pgbouncer 接收網(wǎng)絡(luò)請求總字節(jié)數(shù)
total_sent::
pgbouncer 發(fā)送到網(wǎng)絡(luò)的總字節(jié)數(shù)
total_query_time:
pgbouncer 連接到PG數(shù)據(jù)庫所使用的總時(shí)間數(shù),單位微秒
avg_req:
上一個(gè)時(shí)刻,每秒請求平均數(shù)
avg_recv:
平均每秒鐘在客戶端那接收到的字節(jié)數(shù)
avg_sent:
平均每秒發(fā)送到客戶端的字節(jié)數(shù)
avg_query:
每微秒平均查詢數(shù)
#其余運(yùn)行參數(shù)可以通過如下命令查看
pgbouncer=# show help;
PAUSE[db]:
這個(gè)命令嘗試終止所有的到服務(wù)器端連接,首先會(huì)等待所有的查詢都完成后,這個(gè)命令只有等到所有的查詢都結(jié)束時(shí)才會(huì)返回,用于數(shù)據(jù)庫重啟。如果有指定[db] 則是終止指定的數(shù)據(jù)庫;
KILL db:
刷新所有的套接字緩沖區(qū),pgbouncer 將停止對其的監(jiān)聽,這個(gè)命令只有將所有的緩沖區(qū)都清空后才會(huì)返回。用于pgbouncer 在線重啟
resume [db]:
這個(gè)命令配合 pause 跟 suspend 使用的,解除pgbouncer 的終止?fàn)顟B(tài)
shutdown:
關(guān)閉pgbouncer
reload:
重載配置文件,并更新所有的已更改的設(shè)置
DISABLE:
拒絕指定數(shù)據(jù)庫上所有新客戶端連接
ENALBLE:
test=# begin;
ERROR: Long transactions not allowed
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.
$dbh = DBI -> connect(dbi:Pg:dbname=test;host=127.0.0.1;port=6000, postgres, ) or die
$DBI::errstr;
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129811.html
摘要:這可以通過負(fù)載平衡來實(shí)現(xiàn)數(shù)據(jù)分片當(dāng)問題不是并發(fā)查詢的數(shù)量,而是數(shù)據(jù)庫的大小和單個(gè)查詢的速度時(shí),可以實(shí)現(xiàn)不同的方法。 showImg(https://segmentfault.com/img/remote/1460000018875091); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan | 連接每個(gè)程序員的故事 網(wǎng)站 | http://chaindesk.cn...
摘要:這可以通過負(fù)載平衡來實(shí)現(xiàn)數(shù)據(jù)分片當(dāng)問題不是并發(fā)查詢的數(shù)量,而是數(shù)據(jù)庫的大小和單個(gè)查詢的速度時(shí),可以實(shí)現(xiàn)不同的方法。 showImg(https://segmentfault.com/img/remote/1460000018875091); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan | 連接每個(gè)程序員的故事 網(wǎng)站 | http://chaindesk.cn...
摘要:作用域閉包裝飾器話聊下篇作用域閉包裝飾器的基礎(chǔ)篇,請看作用域閉包裝飾器話聊上篇我經(jīng)常看到有人的裝飾器是帶參數(shù)的,這又是咋回事呢這個(gè)其實(shí)很簡單的,你還記得上次我說相當(dāng)于那么相當(dāng)于也就是說,返回的是一個(gè)裝飾器函數(shù),然后再去裝飾其他函數(shù)。 Python Enclosing作用域、閉包、裝飾器話聊下篇 Python Enclosing作用域、閉包、裝飾器的基礎(chǔ)篇,請看Python Enclos...
摘要:進(jìn)行異常的捕捉與錯(cuò)誤信息頁面的定制。告訴,這是一個(gè)對象,該對象應(yīng)該被注冊為在應(yīng)用程序上下文中的。不同框架的不同配置這里以作為演示默認(rèn)情況下,保護(hù)已啟用。你必須配置包含令牌的所有的網(wǎng)頁來工作。該命名結(jié)構(gòu)旨在幫你找到需要的。 導(dǎo)讀: 在上篇文章中我們了解到Spring Boot 的一些常用的外部化配置,在本篇中我們將會(huì)繼續(xù)對類的配置進(jìn)行了解 一個(gè)簡單的例子[錯(cuò)誤頁面定制]: 在 Spr...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20