ページの先頭行へ戻る
Enterprise Postgres 14 SP1 スケールアウト運用ガイド
FUJITSU Software

4.3 スケールアウト環境での負荷分散

データノードが冗長化されている場合、中央管理ノードからデータノードに接続するとき、データノードのスタンバイサーバに接続し、負荷を分散できます。この機能は、中央管理ノードからデータノードへの通信にConnection Managerが使用されている場合のみ有効です。

利用者は、中央管理ノードへの接続文字列のtarget_session_attrsにアクセスするデータノードの属性を指定することで、適切なノードに接続できます。

この機能を使用するためには、以下のパラメータを指定する必要があります。

パラメータ

設定値

enable_fdw_acs (bool)

中央管理ノードからデータノードへのアクセスに、target_session_attrsに指定したターゲットを使用する場合は、onを指定します。デフォルト値はoffです。


例えば、中央管理ノードを経由してデータノードのスタンバイサーバに優先して接続したい場合、以下のように接続文字列を指定します。

target_session_attrs=prefer-read enable_fdw_acs=on

以下に中央管理ノードが1台、データノード2台で、それぞれのノードを冗長化した場合のconmgr.confの記載例を示します。

# 接続に関する設定

# 中央管理ノード共通の設定
collect_shardinfo_interval=5
collect_shardinfo_timeout=10
collect_shardinfo_conninfo='dbname=postgres'

# 中央管理ノードのプライマリサーバの設定
node_name0='COORDINATOR'
backend_host0='coordinator_primary_host'
backend_port0=12345
watchdog_port0=11111

# 中央管理ノードのスタンバイサーバの設定
node_name1='COORDINATOR'
backend_host1='coordinator_standby_host'
backend_port1=51234
watchdog_port1=22222

# datanode1の設定
# datanode1のプライマリサーバの設定
node_name2='datanode1'
backend_host2='datanode1_primary_host'
backend_port2=45123
watchdog_port2=33333

# datanode1のスタンバイサーバの設定
node_name3='datanode1'
backend_host3='datanode1_standby_host'
backend_port3=34512
watchdog_port3=44444

# datanode2の設定
# datanode2のプライマリサーバの設定
node_name4='datanode2'
backend_host4='datanode2_primary_host'
backend_port4=23451
watchdog_port4=55555

# datanode2のスタンバイサーバの設定
node_name5='datanode2'
backend_host5='datanode2_standby_host'
backend_port5=54321
watchdog_port5=66666

# 監視間隔に関する設定
heartbeat_connect_interval=5
heartbeat_connect_timeout=10

# ログの出力先の設定
log_destination='syslog'