スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

[目次][索引][前へ][次へ]

2.2.40 通信処理に関するオペランド

194) pd_service_port = スケジューラプロセスのポート番号
〜<符号なし整数>((5001〜65535))
次の場合に,スケジューラプロセスのポート番号を指定します。
  • 高速接続機能を使用する場合
    高速接続機能については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
  • HiRDBサーバ側にファイアウォールやNATが設置されている場合
    この場合のHiRDBの環境設定については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《注意事項》
  • 相互系切り替え構成などで一つのサーバマシンに複数のユニットがある場合,ユニット制御情報定義では必ずこのオペランドを指定してください。また,各ユニットで異なるポート番号を指定してください。同じポート番号を指定すると,系切り替え時発生時にどちらかのユニットで系切り替えが失敗します。
  • ユニット制御情報定義とシステム共通定義の両方でこのオペランドを指定した場合,ユニット制御情報定義の指定値が有効になります。
  • HiRDBのポート番号(pd_name_portオペランド又はpdunitオペランドの-pオプションに指定したポート番号)と同じポート番号を指定した場合,このオペランドの指定値が無効となり,高速接続機能を使用する場合及びHiRDBサーバ側にファイアウォールやNATが設定されている場合の運用ができなくなります。このとき,KFPS00860-Wメッセージが出力されます。
  • 高速接続機能を使用してpd_max_usersオペランドの値以上の接続要求を同時に発行した場合,接続要求をメッセージキューから取り出すフロントエンドサーバやシングルサーバの稼働数が不足します。そのため,接続要求をメッセージキューから取り出せなくなり,メッセージキュー監視機能によってユニットが停止することがあります。pd_max_usersオペランドの値以上の同時接続要求が発生しないようにしてください。メッセージキュー監視機能については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
  • スケジューラプロセスのポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_scd_port
  • pdunit -s

 

195) pd_name_fixed_port_lookup = Y | N
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
ユニット間のシステムサーバと通信する場合のアドレス解決方法を指定します。ここで,アドレス解決とは,システムサーバのIPアドレスとポート番号を取得する処理をいいます。
Y:自ユニットの共用メモリでアドレス解決をします。
N:全ユニットに通信をして(ブロードキャスト)アドレス解決をします。
このオペランドにYを指定する場合,次に示すオペランドを指定して,ユニット間通信をするシステムサーバのポート番号を指定する必要があります。ポート番号を指定しない場合,HiRDBを起動できません。ポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
ポート種別 オペランド
HiRDBのポート pd_name_portオペランド又はpdunitオペランドの-pオプション
トランザクションサーバプロセスのポート pd_trn_portオペランド又はpdunitオペランドの-tオプション
スケジューラプロセスのポート pd_scd_portオペランド又はpdunitオペランドの-sオプション
ユニット監視プロセスのポート※1 pd_alv_portオペランド又はpdunitオペランドの-aオプション
メッセージログサーバプロセスのポート※2 pd_mlg_portオペランド又はpdunitオペランドの-mオプション
注※1 シングルサーバ及びシステムマネジャがないユニットでは,ユニット監視プロセスが起動しないため,ポート番号を指定する必要はありません。
注※2 pd_mlg_msg_log_unitオペランドにlocalを指定した場合,ブロードキャストが発生しないため,ポート番号を指定する必要はありません。また,pd_mlg_msg_log_unitオペランドにmanagerを指定した場合,システムマネジャがないユニットでは,メッセージログサーバプロセスが起動しないため,ポート番号を指定する必要はありません。
《利点》
このオペランドにYを指定し,ユニット間通信をするシステムサーバのポート番号を指定すると,アドレス解決時にブロードキャストが発生しません。そのため,ユニット数が多い場合に発生する次のような問題を避けられます。
  • 通信資源の圧迫(ネットワーク負荷,ポートの消費)
  • 性能の劣化
《注意事項》
  • このオペランドにNを指定すると,アドレス解決時に全ユニットに対するブロードキャストが発生することがあります。ブロードキャストが発生する場合を次に示します。
    ・最初のアドレス解決時
    ・アドレス解決したシステムサーバがダウンした後のアドレス解決時
    ・アドレス解決したシステムサーバのユニットがダウンした後のアドレス解決時
  • HiRDB/シングルサーバ又は一つのユニットだけで構成されるHiRDB/パラレルサーバでは,ユニット間通信が発生しないため,このオペランドの指定有無に関係なくNを指定したものとして動作します。

クライアントの接続形態は高速接続を使用してください。通常接続を使用した場合,クライアント接続時に一時的にブロードキャストが発生します。クライアントの接続形態については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

 

196) pd_scd_port = スケジューラプロセスのポート番号
〜<符号なし整数>((5001〜65535))
次の場合に,スケジューラプロセスのポート番号を指定します。
  • pd_name_fixed_port_lookupオペランドにYを指定した場合
  • 高速接続機能を使用する場合
    高速接続機能については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
  • HiRDBサーバ側にファイアウォールやNATが設置されている場合
    この場合のHiRDBの環境設定については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《注意事項》
  • ユニットごとに異なるポート番号を指定する場合は,pdunitオペランドの-sオプションを指定してください。
  • HiRDBのポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《ほかのオペランドとの関連》
  • pd_name_fixed_port_lookupオペランドにYを指定する必要があります。
  • このオペランドは次に示すオペランドと関連があります。
    ・pd_service_port
    ・pdunit -s

 

197) pd_trn_port = トランザクションサーバプロセスのポート番号
〜<符号なし整数>((5001〜65535))
pd_name_fixed_port_lookupオペランドにYを指定した場合に,トランザクションサーバプロセスのポート番号を指定します。
《注意事項》
トランザクションサーバプロセスのポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《ほかのオペランドとの関連》
  • pd_name_fixed_port_lookupオペランドにYを指定する必要があります。
  • このオペランドは,pdunitオペランドの-tオプションと関連があります。

 

198) pd_mlg_port = メッセージログサーバプロセスのポート番号
〜<符号なし整数>((5001〜65535))
pd_name_fixed_port_lookupオペランドにYを指定した場合に,メッセージログサーバプロセスのポート番号を指定します。
《注意事項》
  • メッセージログサーバプロセスが起動しないユニットではポート番号は使用されませんが,定義したポート番号がほかのポート番号と異なるかどうかはチェックされます。メッセージログサーバプロセスが起動しないユニットは,二つ以上のユニットで構成されるHiRDB/パラレルサーバでpd_mlg_msg_log_unitの指定値がmanagerの場合,システムマネジャがないユニットです。
  • メッセージログサーバプロセスのポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《ほかのオペランドとの関連》
  • pd_name_fixed_port_lookupオペランドにYを指定する必要があります。
  • このオペランドは,pdunitオペランドの-mオプションと関連があります。

 

199) pd_alv_port = ユニット監視プロセスのポート番号
〜<符号なし整数>((5001〜65535))
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
pd_name_fixed_port_lookupオペランドにYを指定した場合に,ユニット監視プロセスのポート番号を指定します。
《注意事項》
  • ユニット監視プロセスが起動しないユニットではポート番号は使用されませんが,定義したポート番号がほかのポート番号と異なるかどうかはチェックされます。ユニット監視プロセスは,二つ以上のユニットで構成されるHiRDB/パラレルサーバでシステムマネジャがあるユニットを除いて,すべてのユニットで起動しません。
  • ユニット監視プロセスのポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《ほかのオペランドとの関連》
  • pd_name_fixed_port_lookupオペランドにYを指定する必要があります。
  • このオペランドは,pdunitオペランドの-aオプションと関連があります。

 

200) pd_change_clt_ipaddr = 0 | 1
HiRDBサーバからHiRDBクライアントへの通信時に使用するネットワークを指定します。通常,このオペランドを指定する必要はありません。
0:
HiRDBサーバからHiRDBクライアントへの通信時,クライアント環境定義のPDCLTRCVADDRオペランドに指定したIPアドレスがあるネットワークを使用します。PDCLTRCVADDRオペランドを省略した場合は標準ホストのIPアドレスが仮定されます。
1:
HiRDBサーバからHiRDBクライアントへの通信時,HiRDBクライアントからHiRDBサーバへの通信に使用したネットワークを使用します。

 

201) pd_registered_port = "ポート番号の予約範囲"〔,"ポート番号の予約範囲"〕…
〜〈文字列〉
Linux版の場合にこのオペランドの指定を検討してください。
HiRDB予約ポート機能を使用する場合に,HiRDBが通信処理で使用するポート番号の範囲を指定します。
HiRDB予約ポート機能は,サーバ間通信のときだけ有効になります。なお,ポート番号の使用量が少ない場合には,HiRDB予約ポート機能を使用する必要はありません。
《オペランドの指定方法》
6000〜8999,12500〜29999,30500〜44999の計35,000個の範囲でポート番号を使用する場合の例を次に示します。
set pd_registered_port = "6000:8999","12500:29999","30500:44999"
《利点》
HiRDBサーバとHiRDBクライアント間,又はHiRDBサーバ間の通信処理で使用するポート番号はOSが自動的に割り当てています。通信処理が大量に発生すると,ポート番号の不足によって処理が中断したり,又はほかのプログラムの通信処理に影響を与えたりします。
このオペランドでHiRDB専用のポート番号の範囲を指定すると,これらの現象を防げます。
《指定値の目安》
  • 指定できるポート番号の範囲は5001〜49151です。
  • HiRDBが使用するポート数については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
  • /etc/services(NIS又はDNS環境の場合はそれぞれに定義した場所)には,このオペランドで指定したポート番号は登録しないでください。pd_registered_port_checkオペランドにY,C,又はWを指定すると,/etc/servicesとの重複チェックをします。
《指定値のチューニング方法》
次に示す計算式で求めた値が,必要となるポート番号の総数の目安です。
a+b+100
a:HiRDB予約ポートの使用数(#OF REGISTERED PORTS)
b:HiRDB予約ポートオーバ時のOS自動割り当てポートの使用数(#OF ASSIGNED PORTS)
これらの情報は,統計解析ユティリティのシステムの稼働に関する統計情報で取得できます。
《オペランドの規則》
  • 予約範囲は最大10個指定できます。
  • 予約範囲を二つ以上指定した場合,範囲に含まれるポート番号が重複しないようにしてください。
  • 終了ポート番号は開始ポート番号以上の値でなければいけません。
《注意事項》
  • 相互系切り替え構成などで一つのサーバマシンに複数のユニットがある場合は,ユニット制御情報定義では必ずこのオペランドを指定してください。また,各ユニットで異なるポート番号を指定してください。同じポート番号を指定すると,系切り替え時発生時にどちらかのユニットで系切り替えが失敗します。
  • HP-UX版,Solaris版,及びAIX版の場合は,OSが割り当てるポート番号の範囲が自動的に拡張されます。そのため,このオペランドを指定しなくても,HiRDBが使用するポート番号が不足することはありません。
  • HiRDB予約ポート機能を使用できないポート番号では,このオペランドで指定したポート番号は使用されません。HiRDB予約ポート機能の対象範囲については,pd_registered_port_levelオペランドを参照してください。
  • HiRDB予約ポート機能を使用する場合のポート番号の指定方法,及びほかのポート番号との重複に関する注意事項については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
  • ユニット制御情報定義とシステム共通定義の両方でこのオペランドを指定した場合,ユニット制御情報定義の指定値が有効になります。
 

202) pd_registered_port_check = Y | N | C | W
pd_registered_portオペランドで範囲指定したポート番号と/etc/services(NIS又はDNS環境の場合はそれぞれに定義した場所)に登録されたポート番号との重複チェックをするかどうかを指定します。
Y
重複チェックをします。重複している場合,KFPS00348-Eメッセージを出力してHiRDBの開始処理を中断します。
N
重複チェックをしません。
C
重複チェックをします。重複している場合,重複しているポート番号はHiRDB予約ポート機能の対象外になります。
W
重複チェックをします。重複している場合,KFPS00354-Wメッセージを出力します。重複しているポート番号はHiRDB予約ポート機能の対象外になります。
《前提条件》
pd_registered_portオペランドを指定している必要があります。
《指定値の目安》
  • ポート番号の重複があると,不正電文の受信や送信電文の未達などHiRDBの通信処理に影響を及ぼすことがあります。
  • Y,C,又はWを指定すると,NIS又はDNS環境のときにプロセスサーバプロセスの起動が遅くなることがあります。

 

203) pd_registered_port_level = 0 | 1
このオペランドでは,HiRDB予約ポート機能の対象範囲を指定します。
《前提条件》
pd_registered_portオペランドを指定している必要があります。
《指定値の目安》
0を指定した場合と1を指定した場合の対象範囲を次に示します。
HiRDBが使用するポート番号 pd_registered_port_levelの値
0 1
HiRDBサーバが使用するポート番号 サーバ間通信用送信ポート番号
サーバ間通信用受信ポート番号
pd_name_portオペランドに指定したポート番号 × ×
pdunitオペランドの-pオプションに指定したポート番号 × ×
pd_service_portオペランドに指定したポート番号 × ×
pd_scd_portオペランドに指定したポート番号 × ×
pdunitオペランドの-sオプションに指定したポート番号 × ×
pd_trn_portオペランドに指定したポート番号 × ×
pdunitオペランドの-tオプションに指定したポート番号 × ×
pd_mlg_portオペランドに指定したポート番号 × ×
pdunitオペランドの-mオプションに指定したポート番号 × ×
pd_alv_portオペランドに指定したポート番号 × ×
pdunitオペランドの-aオプションに指定したポート番号 × ×
コマンド用送信ポート番号 × ×
コマンド用受信ポート番号 × ×
対クライアント用送信ポート番号 ×
対クライアント用受信ポート番号
HiRDBクライアントが使用するポート番号 送信ポート番号 × ×
受信ポート番号 × ×
(凡例)
○:HiRDB予約ポート機能の対象範囲となります。pd_registered_portオペランドで指定したポート番号が使用されます。
×:HiRDB予約ポート機能の対象範囲となりません。

204) pd_ipc_send_retrycount = プロセス間通信の送信リトライ処理の連続繰り返し回数
〜<符号なし整数>((1〜32767))《200》(単位:回数)
プロセス間通信の送信リトライ処理の連続繰り返し回数を指定します。
このオペランドはpd_ipc_send_retrysleeptimeオペランドと関連しています。
(例)
  • pd_ipc_send_retrycount = 500
  • pd_ipc_send_retrysleeptime = 2
上記のようにオペランドを指定すると,送信リトライ処理1回の繰り返し単位が500回連続実行で2秒スリープとなります。
《指定値の目安》
  • 通常,このオペランドを指定する必要はありません。
  • このオペランドの指定値を大きくするとCPU占有率が高くなります。

 

205) pd_ipc_send_retrysleeptime = プロセス間通信の送信リトライ処理のスリープ時間
〜<符号なし整数>((0〜60))《0》(単位:秒)
プロセス間通信の送信リトライ処理のスリープ時間を指定します。
このオペランドはpd_ipc_send_retrycountオペランドと関連しています。
(例)
  • pd_ipc_send_retrycount = 500
  • pd_ipc_send_retrysleeptime = 2
上記のようにオペランドを指定すると,送信リトライ処理1回の繰り返し単位が500回連続実行で2秒スリープとなります。
《指定値の目安》
  • 通常,このオペランドを指定する必要はありません。
  • このオペランドの指定値を大きくすると送信完了時間が長くなります。

 

206) pd_ipc_send_count = サーバ間の送信処理のリトライ回数
〜<符号なし整数>((1〜32767))《60》
サーバ間の送信処理が終了するまでの送信処理のリトライ回数を指定します。なお,1回で最大5秒間のリトライを続けます。省略値では5秒×60回となり300秒間リトライを続けます。
《指定値の目安》
通常,このオペランドを指定する必要はありません。送信タイムアウトが頻発する場合に,このオペランドの指定値を大きくしてください。

 

207) pd_ipc_recv_count = サーバ間の受信処理のリトライ回数
〜<符号なし整数>((1〜32767))《120》
サーバ間の受信処理が終了するまでの受信処理のリトライ回数を指定します。なお,1回で最大5秒間のリトライを続けます。省略値では5秒×120回となり10分間リトライを続けます。
《指定値の目安》
通常,このオペランドを指定する必要はありません。

 

208) pd_ipc_conn_nblock = Y | N
HiRDBのサーバ間通信(ユニット間の通信)で,コネクション確立をノンブロックモードで行うかどうか指定します。
Y:コネクション確立をノンブロックモードで行います。
N:コネクション確立をブロックモードで行います。
《利点》
このオペランドにYを指定した場合,HiRDBのサーバ間通信(ユニット間の通信)で,connect()システムコールをノンブロックモードで発行できます。それによって,LAN障害時にconnect()システムコールが数十秒間(OS依存)プロセスをブロックしていたのが,pd_ipc_conn_nblock_timeオペランドで指定した時間まで短くなります。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_ipc_conn_nblock_time
  • pd_ipc_conn_interval
  • pd_ipc_conn_count
  • pd_host_watch_interval
《指定値の目安》
通常,このオペランドを指定する必要はありません。
《備考》
クライアントとサーバ間の通信でのコネクション確立については,クライアント環境定義PDNBLOCKWAITTIME,又はpd_ipc_clt_conn_nblockオペランドで指定してください。

 

209) pd_ipc_conn_nblock_time = ノンブロックでのコネクション確立監視時間
〜<符号なし整数>((1〜120))《8》(単位:秒)
HiRDBのサーバ間通信(ユニット間の通信)におけるノンブロックモードでのコネクション確立処理のリトライ時間と,コネクションの確立監視時間を指定します。
《前提条件》
このオペランドは,pd_ipc_conn_nblockオペランドにYを指定した場合に有効になります。
《利点》
不当な通信エラーが多発している場合に,このオペランドの指定値を大きくすると,通信エラーを減らせることがあります。
《指定値の目安》
通常,このオペランドを指定する必要はありません。
不当な通信エラーが多発している場合は,OSのpingコマンドなどを使用して,HiRDBのサーバ間の到達時間を計ってください。このオペランドの値より時間が掛かる場合は,到達時間より大きい値をこのオペランドに指定してください。
《注意事項》
このオペランドの指定値を大きくすると,通信できなくなった場合のタイムアウト時間が延びます。このため,ほかの処理に影響を与えることがあります。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_ipc_conn_nblock
  • pd_ipc_conn_interval
  • pd_ipc_conn_count
《備考》
HiRDBは一定間隔(pd_host_watch_intervalオペランドの値:省略値は10秒)でほかのユニットに対して通信を行い,ほかのユニットの稼働状況を確認しています。
監視対象ユニットが応答を返した直後にLAN障害が発生すると,一定時間(pd_host_watch_intervalオペランドの値)待った後に次の通信処理をします。その後,通信のリトライ処理がpd_ipc_conn_nblock_timeオペランドの値(デフォルト8秒)の間実行されます。そのため,監視対象ユニットの異常終了が検知されるまでの時間は,両オペランドの値を加算した時間になります。
HiRDBが監視対象ユニットの異常終了を検知するまでの時間の関係を次に示します。
[図データ]

 

210) pd_ipc_conn_interval = コネクション確立処理のリトライ間隔
〜<符号なし整数>((0〜50))《1》
HiRDBのサーバ間通信で,データ送信時に行うコネクション確立処理のリトライ間隔を指定します。次に示す場合にコネクション確立処理をリトライします。
  • 接続タイムアウトになった場合
  • Listenキューが不足した場合
《指定値の目安》
  • 通常,このオペランドを指定する必要はありません。
  • このオペランドを指定する場合は,次の条件を満たすようにしてください。
    このオペランドの指定値<pd_ipc_conn_nblock_time及びクライアント環境定義のPDNBLOCKWAITTIMEの値
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_ipc_conn_count
  • pd_ipc_conn_nblock
  • pd_ipc_conn_nblock_time
《備考》
ノンブロックモード及びブロックモード通信時のリトライ処理の例を次に示します。
[図データ]
〔説明〕
次に示すように指定すると,ノンブロックモードのコネクション確立処理を,1秒間隔で8秒間リトライします。
・pd_ipc_conn_nblock_time = 8
・pd_ipc_conn_interval = 1
 
[図データ]
〔説明〕
次に示すように指定すると,ブロックモードでのコネクション確立処理を10秒間隔で5回リトライします。
・pd_ipc_conn_interval = 10
・pd_ipc_conn_count = 5

 

211) pd_ipc_conn_count =コネクション確立処理のリトライ回数
〜<符号なし整数>((0〜600))《50》
HiRDBのサーバ間通信で,データ送信時に行うコネクション確立処理のリトライ回数を指定します。次に示す場合に,コネクション確立処理をリトライします。
  • 接続タイムアウトになった場合
  • Listenキューが不足した場合
このオペランドはpd_ipc_conn_intervalオペランドと関連しています。
(例)
  • pd_ipc_conn_interval = 10
  • pd_ipc_conn_count = 5
このようにオペランドに指定すると,コネクション確立処理を10秒ごとに最大5回行います。
《指定値の目安》
通常,このオペランドを指定する必要はありません。
《注意事項》
ノンブロックモードのコネクション確立処理が実行される場合,このオペランドの指定は無効になります。
pd_ipc_conn_nblockオペランドにYを指定すると,ノンブロックモードのコネクション確立処理が実行されます。

 

212) pd_ipc_inet_bufsize = サーバのユニット間通信で使用する送受信バッファ長
〜<符号なし整数>((0〜262144))《16384》(単位:バイト)
サーバのユニット間通信(TCP INETドメイン)で使用する送受信バッファの最大値を4096の倍数で指定します。
《指定値の目安》
通常は0を指定してOSの設定値を適用してください。
《注意事項》
  • 0を指定した場合はOSの設定値を使用します。
  • TCPのバッファサイズの上限値は各OSで異なるので注意してください。
  • システム定義pd_utl_buff_sizeを使用するユティリティの通信処理では,指定したバッファ長を無効にし,pd_utl_buff_size指定値を元に,最適な値を設定します。
  • OSによっては,指定したバッファ長が無効になることがあります。この場合,OSの設定値を使用します。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_utl_buff_size

 

213) pd_ipc_unix_bufsize = サーバのユニット内通信で使用する送受信バッファ長
〜<符号なし整数>((0〜262144))《16384》(単位:バイト)
サーバのユニット内通信(TCP UNIXドメイン)で使用する送受信バッファの最大値を4096の倍数で指定します。
《指定値の目安》
通常は0を指定してOSの設定値を適用してください。
《注意事項》
  • 0を指定した場合はOSの設定値を使用します。
  • TCPのバッファサイズの上限値は各OSで異なるので注意してください。
  • Linux系プラットフォーム,及び,Solaris系プラットフォームでは,指定したバッファ長が無効になります。この場合,OSの設定値を使用します。
  • システム定義pd_utl_buff_sizeを使用するユティリティの通信処理では,指定したバッファ長を無効にし,pd_utl_buff_size指定値を元に,最適な値を設定します。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_utl_buff_size

 

214) pd_tcp_inet_bufsize = HiRDBサーバが存在するホスト外のHiRDBクライアントとの通信で使用する送受信バッファ長
〜<符号なし整数>((0〜262144))《0》(単位:バイト)
HiRDBサーバがあるホスト以外のホスト上から接続したHiRDBクライアントとの通信(TCP INETドメイン)で使用する送受信バッファの最大値を,4096の倍数で指定します。
《指定値の目安》
通常,このオペランドを指定する必要はありません。次に示す現象が発生した場合に,このオペランドを指定します。
  • HiRDBサーバとHiRDBクライアント間で送受信するデータの再送がある場合,このオペランドを指定すると再送を抑止できます。
  • 受信側の処理で,データ到着速度が読み込み処理速度よりも遅い場合,このオペランドを指定すると,送信データ量が増えて受信時の到着待ちによる遅延を防げます。
このオペランドには,通信に使用するバッファサイズと同じ値を指定してください。
《注意事項》
  • 0を指定した場合はOSの設定値を使用します。
  • TCPのバッファサイズの上限値は各OSで異なるので注意してください。
  • Linux系プラットフォーム,及び,Solaris系プラットフォームでは,指定したバッファ長が無効になります。この場合,OS の設定値を使用します。

 

215) pd_tcp_unix_bufsize = HiRDBサーバが存在するホスト内のHiRDBクライアントとの通信で使用する送受信バッファ長
〜<符号なし整数>((0〜262144))《16384》(単位:バイト)
HiRDB サーバがあるホスト上から接続した以下のHiRDBクライアントとの通信(TCP UNIX ドメイン)で使用する送受信バッファの最大値を,4096の倍数で指定します。
  • HiRDB Version4.0の04-02以前のHiRDBクライアント
  • マルチスレッド対応のHiRDB XAライブラリを使用したHiRDBクライアント
《指定値の目安》
通常はこのオペランドを指定する必要はありません。次に示す現象が発生した場合に,このオペランドを指定します。
  • HiRDBサーバとHiRDBクライアント間で送受信するデータの再送がある場合,このオペランドを指定すると再送を抑止できます。
  • 受信側の処理で,データ到着速度が読み込み処理速度よりも遅い場合,このオペランドを指定すると,送信データ量が増えて受信時の到着待ちによる遅延を防げます。
このオペランドには,通信に使用するバッファサイズと同じ値を指定してください。
《注意事項》
  • 0を指定した場合はOSの設定値を使用します。
  • TCPのバッファサイズの上限値は各OSで異なるので注意してください。
  • Solaris系プラットフォームでは,指定したバッファ長が無効になります。この場合,OSの設定値を使用します。
  • Linux系プラットフォームでは,TCP UNIXドメインプロトコルで通信を行いません。このため,指定したバッファ長が無効になります。この場合,pd_tcp_inet_bufsize指定値を使用します。

 

216) pd_utl_buff_size = ユティリティの通信用バッファ長
〜<符号なし整数>((8〜64))《32》(単位:キロバイト)
次に示すユティリティのプロセスが使用する通信用バッファ1面のサイズをキロバイト単位で指定します。
  • データベース作成ユティリティ
  • データベース再編成ユティリティ(-gオプション指定時)
  • リバランスユティリティ
  • データベース回復ユティリティ
  • データベース複写ユティリティ
《利点》
ユティリティ処理を行うサーバプロセスとHiRDBサーバ間の通信処理で,データの再送が見られる場合に指定値を大きくしてHiRDBサーバ間の通信回数を減らすことができます。
《指定値の目安》
通信用バッファ長=↑(ページ長×2)÷1024↑(単位:キロバイト)
注※ ユティリティの処理対象となるRDエリアの最大ページ長
《オペランドの規則》
  • 指定値は,4の倍数単位に指定してください。4の倍数でない場合は,自動的に4の倍数に切り上げられます。
  • 指定値が32より小さい場合でも,データベース回復ユティリティ及びデータベース複写ユティリティ実行時には,自動的に32に切り上げられます。

 

217) pd_utl_file_buff_size = ユティリティのファイル用バッファ長
〜<符号なし整数>((32〜512000))《32》(単位:キロバイト)
ユティリティがファイルにアクセスするとき,入出力に使用するバッファ長を指定します。このオペランドに大きい値を指定すると,ファイルへの入出力回数を削減できます。
数百ギガバイトのファイルにデータを入出力する場合,使用するOSやハードウェアの特性によって,入出力回数が増え,入出力に掛かる時間が長くなることがあります。この場合,バッファ長に1メガバイト程度を指定すると回避できることがあります。
このオペランドでバッファ長の指定が有効となるユティリティ名とそのファイル名を次に示します。
ユティリティ名 ファイル名
データベース複写ユティリティ バックアップファイル
データベース回復ユティリティ バックアップファイル
データベース再編成ユティリティ アンロードデータファイル※1
LOBデータアンロードファイル
表移行用アンロードファイル
データベース作成ユティリティ 入力データファイル※2
列単位LOB入力ファイル
表移行用アンロードファイル

注※1
-Wオプションを指定して作成されたアンロードデータファイルの場合,バッファサイズは有効となりません。

注※2
DAT形式の入力デ−タファイルで,maxreclenオペランドを指定した場合,maxreclenオペランドの指定値が優先されます。この場合は,maxreclenオペランドの指定値を大きくしてください。

 

218) pd_sql_send_buff_size = SQL実行時のサーバ間通信用バッファ長
〜<符号なし整数>((4〜32))《4》(単位:キロバイト)
このオペランドは,HiRDB/パラレルサーバ限定のオペランドです。
HiRDBサーバ間で検索結果のデータ転送をする場合の通信用バッファ1面の長さをキロバイト単位で指定します。
《指定値の目安》
通信用バッファ長=↑ページ長÷1024↑(単位:キロバイト)
注※ ページ長=行長×1回当たりの通信件数
  • 可変長データ型のデータ長は実長で計算してください。
  • LOB列及び抽象データ型列は対象外のため,ページ長には含めないでください。
《注意事項》
  • このオペランドの指定値を大きくすると,メモリ使用量が増えることがあります。
  • インデクスなどを利用して,フロータブルサーバを用いたソート及びそのための作業表作成処理を削減するために,指定値以上の通信用バッファ長で通信を行うことがあります。

 

219) pd_ipc_tcp_nodelayack = Y | N
このオペランドはAIX版限定のオペランドです。AIX版以外のHiRDBでは,このオペランドを指定しないでください。指定した場合は,HiRDBを開始できません。
このオペランドでは,即時ACKを適用するかどうかを指定します。即時ACKについてはマニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。なお,即時ACKが適用できるのは,AIX 5L V5.2 IY51819パッチ適用版及びAIX 5L V5.3以降です。
Y:
即時ACKを適用します。データ転送で,送信先が正常にパケットを受信すると,即時に送信元へACK(肯定応答)が送信されます。
N:
即時ACKを適用しません。データ転送で,送信先が正常にパケットを受信しても,即時にACKは送信されません。送信元へはまとまった応答データと一緒に送信される場合があります。
《指定値の目安》
  • HiRDBサーバとHiRDBクライアント間,又はHiRDBサーバ間の通信処理で,レスポンスが低下する場合にYを指定すると,レスポンスが向上することがあります。
  • ネットワークの負荷が高い場合にNを指定すると,ACKの送信回数が減り,ネットワークの負荷が軽減することがあります。
  • OSパラメタのtcp_nodelayackオプションに1を指定している場合は,pd_ipc_nodelayackオペランド又はPDNODELAYACKの指定に関係なく,システム全体で即時ACKが適用されます。tcp_nodelayackオプションについては,AIXのマニュアルを参照してください。
《クライアント環境定義との関連》
次の場合はクライアント環境定義PDNODELAYACKにYESを指定してください。クライアント環境定義PDNODELAYACKについては,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
  • HiRDBサーバとHiRDBクライアント間の通信で,HiRDBクライアントが生成する通信用ソケットを利用してパケットを受信する場合
  • HiRDBクライアントが別サーバマシンで,かつAIX 5L V5.2 IY51819パッチ適用版及びAIX 5L V5.3以降の場合

220) pd_ipc_clt_conn_nblock = Y | N
HiRDBクライアントとの通信で,コネクション確立をノンブロックモードで行うかどうかを指定します。
Y:
コネクション確立をノンブロックモードで行います。
pd_ipc_clt_conn_nblock_timeオペランドに指定した値の間隔で監視します。
N:
コネクション確立をブロックモードで行います。
《利点》
このオペランドにYを指定した場合,HiRDBクライアントとの通信で,connect()システムコールをノンブロックモードで発行できます。それによって,LAN障害時にconnect()システムコールが数十秒間(OS依存)プロセスをブロックしていたのが,pd_ipc_clt_conn_nblock_timeオペランドで指定した時間まで短くなります。
《指定値の目安》
通常,このオペランドを指定する必要はありません。
《クライアント環境定義との関連》
クライアント環境定義のPDNBLOCKWAITTIMEの指定によって,このオペランドの指定値が無効になることがあります。クライアント環境定義のPDNBLOCKWAITTIMEとの組み合わせで,コネクション確立をどちらのモードで行うかを次の表に示します。
クライアント環境定義PDNBLOCKWAITTIMEの指定値 pd_ipc_clt_conn_nblockオペランドの指定値
Y N
0

サーバがクライアントにコネクション確立する場合
ノンブロックモード。
このとき,pd_ipc_clt_conn_nblock_timeオペランドに指定した監視時間で監視します。

クライアントがサーバにコネクション確立する場合
ブロックモード。
ブロックモード。
1以上 ノンブロックモード。
このとき,クライアント環境定義のPDNBLOCKWAITTIMEに指定した監視時間で監視します。

221) pd_ipc_clt_conn_nblock_time = ノンブロックモードでのコネクション確立監視時間(HiRDBクライアントとの通信)
〜<符号なし整数>((1〜120))《8》(単位:秒)
HiRDBクライアントとの通信におけるノンブロックモードでのコネクションの確立監視時間を指定します。
《前提条件》
このオペランドはpd_ipc_clt_conn_nblockオペランドにYを指定した場合に有効になります。
《指定値の目安》
通常,このオペランドを指定する必要はありません。
不当な通信エラーが多発している場合は,OSのpingコマンドなどを使用して,到達時間を計ってください。このオペランドの値より時間が掛かる場合は,到達時間より大きい値をこのオペランドに指定してください。
《注意事項》
このオペランドには,コネクション確立をブロックモードで行ったときのOS待ち時間よりも大きい値を指定しないでください。指定した場合は,OSの待ち時間で接続タイムアウトになります。