Step 6 - Checking the cluster#

クラスターの確認#

クラスターが起動して実行されたら、いくつかの基本的なチェックを実行して、どの程度効率的に複製されているかを確認することは価値があります。

次の例は、これを行うための1つの簡単な方法を示していますが、実行するテストがユースケースに適切であることを確認する必要があります。

  • 準備
  • クラスターの準備ができていることを確認します。

  • host-one/node-oneのデータベースにログインします。

  • select bdr.wait_slot_confirm_lsn(NULL, NULL); を実行します。

  • クエリーが返されると、クラスターの準備が整います。

  • データの作成 クラスターがレプリケートしていることをテストする最も簡単な方法は、1つのノードにログインし、テーブルを作成し、それにデータを設定することです。

  • ノード1で、テーブルを作成します。

edb_notranlate_0 - ノード1で、テーブルにデータを入力します。

edb_notranlate_1 - ノード1で、パフォーマンスをモニタします。

edb_notranlate_2 - ノード1で、value列の合計を取得しますチェック用。

select COUNT(*),SUM(value) from quicktest;
  • データの確認

  • ノード2にログインします。 host-two/node-two.

  • のデータベースにログインします。ノード2で、value列の合計を取得しますチェック用。

edb_notranlate_5 - node-oneからの結果と比較します。 - node-threeにログインします。 host-three/node-three. - のデータベースにログインします。 node-threeで、value列の合計を取得しますチェック用。

edb_notranlate_5 - ノード1およびノード2の結果と比較します。

実際の例#

準備#

host-oneのPostgresサーバーにログインします。

ssh admin@host-one
sudo -iu enterprisedb psql bdrdb

これは、 PGDのノード1への接続です。

クラスターの準備ができていることを確認します#

クラスターの準備ができていることを確認するには、次のコマンドを実行します。

select bdr.wait_slot_confirm_lsn(NULL, NULL)

このクエリは、クラスターが初期化でビジーな間はブロックし、クラスターの準備が整うと結果を返します。

別のウィンドウで、host-twoのPostgresサーバーにログインします。

ssh admin@host-two
sudo -iu enterprisedb psql bdrdb

データを作成する#

ノード1で、テーブルを作成します#

実行します

CREATE TABLE quicktest ( id SERIAL PRIMARY KEY, value INT );

ノード1で、テーブルにデータを設定します#

INSERT INTO quicktest (value) SELECT random()*10000 FROM generate_series(1,10000);

このコマンドは、10000行のランダム値のテーブルを生成します。

ノード1で、パフォーマンスを監視する#

できるだけ早く実行します。

select * from bdr.node_replication_rates;

このコマンドは、そのデータが他の2つのノードに複製された速度に関する統計を表示します。

bdrdb=# select * from bdr.node_replication_rates;
 peer_node_id | target_name | sent_lsn  | replay_lsn | replay_lag | replay_lag_bytes | replay_lag_size | apply_rate | catchup_interv
al
- -------------+-------------+-----------+------------+------------+------------------+-----------------+------------+---------------
- --
   1954860017 | node-three  | 0/DDAA908 | 0/DDAA908  | 00:00:00   |                0 | 0 bytes         |      13682 | 00:00:00
   2299992455 | node-two    | 0/DDAA908 | 0/DDAA908  | 00:00:00   |                0 | 0 bytes         |      13763 | 00:00:00
(2 rows)

そして、それは既に複製されています。

ノード1でチェックサムを取得します#

実行します

select COUNT(*),SUM(value) from quicktest;

このコマンドは、生成されたデータからいくつかの値を取得します。

bdrdb=# select COUNT(*),SUM(value) from quicktest;
__OUTPUT__
 count  |    sum
- -------+-----------
 100000 | 498884606
(1 row)

データを確認する#

host-twoのPostgresサーバーにログインします#

ssh admin@host-two
sudo -iu enterprisedb psql bdrdb

これは、 PGDのノード2への接続です。

ノード2で、チェックサムを取得します#

実行します

select COUNT(*),SUM(value) from quicktest;

このコマンドは、生成されたデータのノード2の値を取得します。

bdrdb=# select COUNT(*),SUM(value) from quicktest;
__OUTPUT__
 count  |    sum
- -------+-----------
 100000 | 498884606
(1 row)

ノード1の結果と比較します#

値は同じです。

ノード3でプロセスを繰り返すか、任意のノードで新しいデータを生成し、他のノードにレプリケートされるのを確認できます。

host-threeのPostgresサーバーにログインします#

ssh admin@host-two
sudo -iu enterprisedb psql bdrdb

これは、 PGDのノード3への接続です。

ノード3で、チェックサムを取得します#

実行します

select COUNT(*),SUM(value) from quicktest;

このコマンドは、生成されたデータのノード3の値を取得します。

bdrdb=# select COUNT(*),SUM(value) from quicktest;
__OUTPUT__
 count  |    sum
- -------+-----------
 100000 | 498884606
(1 row)

ノード1およびノード2の結果と比較します#

値は同じです。