中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【PG流復制】Postgresql流復制部署過程及性能測試

發布時間:2020-08-12 00:03:13 來源:ITPUB博客 閱讀:379 作者:xysoul_云龍 欄目:關系型數據庫
--異步流復制 ,事務提交時不需要等待備庫接收并寫入wal日志便返回成功。
--postgresql.conf  添加以下參數
wal_level=replica
archive_mode=on
archive_command='/bin/date'
max_wal_senders=10         ##max number of walsender processes
wal_keep_segments=512      ##in logfile segments,16MB each; 0 disables
hot_standby=on
--pg_hab.conf
#replication privilege
host	replication		repuser		192.168.8.81/32		md5
host	replication		repuser		192.168.8.25/32		md5
--create user
create user repuser replication login connection limit 5 encrypted password 're12a345';
--start backup
select pg_start_backup('fancs_bk1');
tar czvf pg_root.tar.gz data --exclude=data/pg_wal
scp pg_root.tar.gz postgres@192.168.8.25:/pgdata
--node2
tar xvf pg_root.tar.gz
mkdir pg_wal
select pg_stop_backup();
--node2
cp /pgdata/pgsql/share/postgresql/recovery.conf.sample  $PGDATA/recovery.conf
recovery_target_timeline='latest'
standby_mode=on
primary_conninfo='host=192.168.8.81 port=5432 user=repuser'
--編寫密碼文件,免密碼登錄
[postgres@mystandby ~]$ touch .pgpass
[postgres@mystandby ~]$ chmod 0600 .pgpass 
[postgres@mystandby ~]$ cat .pgpass 
192.168.8.81:5432:replication:repuser:re12a345
192.168.8.25:5432:replication:repuser:re12a345
--查看進程
postgres   4902   4838  0 15:14 ?        00:00:00 postgres: wal sender process repuser 192.168.8.25(30137) streaming 0/B000140
postgres   5670   5668  0 15:14 ?        00:00:00 postgres: wal receiver process   streaming 0/B000140
--測試
create table t7 (id int4,name text);
insert into t7 values(1,'firsouler');
select * from t7;
--查看流復制同步方式
select usename,application_name,client_addr,sync_state from pg_stat_replication;
--同步流復制,需要等待備庫接收wal日志,增加了事務響應時間
--postgresql.conf    單實例環境
synchronous_commit   #on 表示提交事務時需要等待本地wal寫入wal日志后才向客戶端返回成功,安全,性能損耗
					 #off 可能數據丟失,提高性能
					 #local 與on類似
					 --流復制環境
					 #remote_write  等待備庫寫入系統緩存中
					 # on 備庫寫入wal日志
					 #remote_apply 備庫完成重做
					 
--recovery.conf  node2  備庫別名
primary_conninfo='host=192.168.8.25 port=5432 user=repuser application_name=node2'
--node1 設置以下參數
synchronous_commit=on
synchronous_standby_names='node2'
--同步流復制,備庫宕機,主庫一直等待, 不建議同步流復制
--性能測試,并發 跟cpu數量有關系,性能方面
--測試腳本
create table test_per1(id int4,name text,create_time timestamp() without time zone default clock_timestamp());
insert into test_per1(id,name) select n,n||'_per1' from generate_series(1,10000000) n;
alter table test_per1 add primary key(id);
--select 腳本
\set v_id random(1,1000000)
select name from test_per1 where id=:v_id;
--寫測試
\set v_id random(1,1000000)
update test_per2 set flag='1' where id=:v_id;
--讀測試,單實例最佳,異步流復制次之,寫測試,單實例與異步差異不明顯,同步流復制慢
pgbench -c 2 -T 120 -d postgres -U postgres -n N -M prepared -f update_per2.sql > update_2.out 2>&1 &
--流復制監控
select * from pg_stat_replication;
--主備延遲 write_lag 主庫wal落盤,等待備庫接收wal日志,(操作系統緩存中)并返回確認信息;flush_lag(已寫入wal日志,但沒應用);replay_lag(已應用)
select pid,usename,client_addr,state,write_lag,flush_lag,replay_lag from pg_stat_replication;
--replay_lag>flush_lag>write_lag
--10之前的版本
select extract(second from now()-pg_last_xact_replay_timestamp());
--通過流復制wal日志應用延遲衡量 返回字節數
select pid,usename,client_addr,state,
pg_wal_lsn_diff(pg_current_wal_lsn(),write_lsn) write_delay,
pg_wal_lsn_diff(pg_current_wal_lsn(),flush_lsn) flush_delay,
pg_wal_lsn_diff(pg_current_wal_lsn(),replay_lsn) replay_delay from pg_stat_replication;
--接收進程相關試圖
select * from pg_stat_wal_receiver;
--備庫,恢復進程是否處于恢復模式
select pg_is_in_recovery();
--備庫最近接收的wal位置
select pg_last_wal_receive_lsn();
--備庫最近應用的wal日志
select pg_last_wal_replay_lsn();
--備庫最近事務的應用時間
select pg_last_xact_replay_timestamp();
--主庫wal當前寫入位置
select pg_current_wal_lsn();
--計算兩個wal日志位置的偏移量
select pg_wal_lsn_diff('','');


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇明县| 华蓥市| 根河市| 哈密市| 忻州市| 荃湾区| 晴隆县| 崇信县| 兰州市| 贵南县| 郑州市| 桃园县| 怀远县| 腾冲县| 兴和县| 平顶山市| 巴林左旗| 平舆县| 仁化县| 恭城| 陵川县| 栖霞市| 桃江县| 哈密市| 吐鲁番市| 丽水市| 牡丹江市| 瑞昌市| 明溪县| 浮梁县| 济宁市| 分宜县| 杭锦后旗| 昌都县| 栖霞市| 远安县| 鱼台县| 汪清县| 垫江县| 赤峰市| 隆德县|