ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 でのサービスロケーションプロトコルサービスの管理 Oracle Solaris 11.1 Information Library (日本語) |
頻繁なパーティション分割に対する DA のハートビートの構成
頻繁なパーティション分割に対して DA のハートビートを構成する方法
経路指定されていない複数のネットワークインタフェースに対して構成を行う場合
経路指定されていない複数のネットワークインタフェースの構成 (タスクマップ)
net.slp.interfaces プロパティーの構成方法
SLP 検出要求のタイムアウトを変更する必要があるのは、次の 2 つの場合です。
SLP エージェントが複数のサブネット、ダイアルアップ回線、または別の WAN によって切り離されている場合は、ネットワークの待ち時間が長く、デフォルトのタイムアウトでは要求や登録を完了できないことがあります。逆に、ネットワークの待ち時間が短い場合は、タイムアウトを短くすることにより、パフォーマンスが向上することがあります。
トラフィックが多いネットワークまたは衝突率の高いネットワークの場合、SA および UA がメッセージを送る前に待たなければならない最長の時間が不足して、衝突のないトランザクションを確保できない場合があります。
ネットワークの待ち時間が長いと、UA および SA が要求と登録を行う場合、応答を受け取る前にタイムアウトになる原因になります。複数のサブネット、ダイアルアップ回線、または WAN によって UA が SA から切り離されている場合、または UA と SA の両方が DA から切り離されている場合、待ち時間が問題となることがあります。待ち時間が問題であるかどうかを判断するには、UA および SA の要求と登録でタイムアウトが起こったために SLP 要求が失敗しているかどうかを確認します。ping コマンドを使って実際の待ち時間を測定することもできます。
次の表は、タイムアウトを制御する構成プロパティーを示します。このセクションで説明する手順で、これらのプロパティーを変更できます。
表 3-4 タイムアウトプロパティー
|
マルチキャストサービスの検出中または DA の検出中に頻繁にタイムアウトが発生する場合は、net.slp.multicastMaximumWait プロパティーをデフォルト値の 15000 ミリ秒 (15 秒) から増やしてください。最大待ち時間を長くすることにより、待ち時間の長いネットワーク上で要求に対してより長い時間が許可されます。net.slp.multicastMaximumWait を変更したあとは、net.slp.multicastTimeouts と net.slp.DADiscoveryTimeouts も変更するようにしてください。これらのプロパティーのタイムアウト値の合計が net.slp.multicastMaximumWait 値と等しくなるようにしてください。
次の手順に従って、タイムアウトを制御する SLP プロパティーを変更します。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# svcadm disable network/slp
net.slp.multicastMaximumWait=value
net.slp.multicastTimeouts と net.slp.DADiscoveryTimeouts に設定される値の合計を示す、32 ビットの整数
デフォルト値は、15000 ミリ秒 (15 秒) です
値の範囲は、1000 から 60000 ミリ秒です
たとえば、マルチキャスト要求で 20 秒 (20000 ミリ秒) 必要だと判断したら、net.slp.multicastTimeouts プロパティーと net.slp.DADiscoveryTimeouts プロパティーに一覧表示されている値が 20000 ミリ秒になるように調整します。
net.slp.multicastMaximumWait=20000 net.slp.multicastTimeouts=2000,5000,6000,7000 net.slp.DADiscoveryTimeouts=3000,3000,6000,8000
net.slp.datagramTimeouts=value
ユニキャストのデータグラム転送を DA に実行するためのタイムアウト (ミリ秒) を指定する、32 ビット整数のリスト
デフォルト値は、3000,3000,3000 です
たとえば、頻繁なタイムアウトの発生を回避するために、データグラムのタイムアウトを 20000 ミリ秒に増やすことができます。
net.slp.datagramTimeouts=2000,5000,6000,7000
高パフォーマンスのネットワークでは、逆に UDP データグラム転送のマルチキャストまたはユニキャストのタイムアウトの上限を小さくできます。タイムアウトの上限を小さくすることで、SLP 要求を満たすために必要な待ち時間を短縮できます。
# svcadm enable network/slp
トラフィックの重いネットワークや衝突率の高いネットワークでは、DA との通信が影響を受けることがあります。衝突率が高い場合、送信エージェントは、UDP データグラムを再転送する必要があります。再転送が発生しているかどうかは、snoop を使用して、SA サーバーとして slpd を実行しているホスト、および DA サーバーとして slpd を実行しているホストのネットワークトラフィックを監視することにより判断できます。SA サーバーとして slpd を実行しているホストから同じサービスについて複数のサービス登録メッセージが snoop トレースに現れる場合は、衝突が発生している可能性があります。
衝突は、ブート時に特に問題となる場合があります。DA が最初に起動されると、DA は非要請通知を送り出し、SA はそれらの登録に応答します。SLP は、DA 通知を受け取ってから応答するまでにランダムな時間だけ、SA を待たせます。このランダムな待ち時間は、net.slp.randomWaitBound によって制御される最大値を使って均等に分散されます。デフォルトのランダム待ち時間の上限は 1000 ミリ秒 (1 秒) です。
次の手順を使用して、slp.conf ファイルの net.slp.RandomWaitBound プロパティーを変更します。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# svcadm disable network/slp
net.slp.RandomWaitBound=value
DA に接続するまでのランダム待ち時間の計算に使用される上限
デフォルト値は、1000 ミリ秒 (1 秒) です
値の範囲は、1000 から 3000 ミリ秒です
たとえば、ランダム待ち時間を 2000 ミリ秒 (2 秒) に延長できます。
net.slp.randomWaitBound=2000
ランダム待ち時間の上限を長くすると、登録で遅延が長くなります。SA は新しく検出された DA をより時間をかけて登録できるので、衝突とタイムアウトを回避することができます。
net.slp.datgramTimeouts=value
ユニキャストのデータグラム転送を DA に実行するためのタイムアウト (ミリ秒) を指定する、32 ビット整数のリスト
デフォルト値は、3000,3000,3000 です
たとえば、頻繁なタイムアウトの発生を回避するために、データグラムのタイムアウトを 20000 ミリ秒に増やすことができます。
net.slp.datagramTimeouts=2000,5000,6000,7000
高パフォーマンスのネットワークでは、逆に UDP データグラム転送のマルチキャストまたはユニキャストのタイムアウトの上限を小さくできます。この設定により、SLP 要求を満たす際に、待ち時間を短縮できます。
# svcadm enable network/slp