TCP/IPパラメタのチューニング方法を説明します。
■チューニング方法
短時間に数多くのクライアントが接続する場合、TCP/IPのソケット不足になりWebブラウザに「Internal Server Error」が表示される場合があります。
動的ポートの範囲を広げることで、使用可能なソケット数を増やし、また、使用済みのソケットの回収までの時間を短縮することで問題の回避が可能となります。
動的ポートの範囲の拡張
netshコマンドを利用することで、設定します。
netsh int ipv4 set dynamicport tcp start=<動的ポートの開始番号> num=<動的ポートの数>
nstshコマンドの詳細はOSのドキュメントを参照してください。
使用済みソケット回収時間の短縮
レジストリエディタを使用して以下のレジストリ情報を追加した後、システムを再起動してください。
レジストリ情報がない場合は、新しく作成してください。
レジストリキー:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
名前:TcpTimedWaitDelay
種類:REG_DWORD
推奨値:1E(30秒)
注意
動的ポートの範囲を変更する場合、Interstage、および他のアプリケーションが使用しているポートを範囲に含めないようにしてください。
レジストリの編集操作を誤ると、システムが不安定になる可能性がありますので、操作の際には、指定されたキー以外は一切変更を加えないよう注意してください。また、操作前には必ずレジストリのバックアップを行ってください。
TCP/IPパラメタのチューニングは、すべてのTCPに対して影響を与えるため、システム管理者に相談してから実施してください。
■チューニング方法
nddコマンドを使用してtcp_time_wait_intervalを60秒にしてください。OSのデフォルト値は60秒のため、値を変更していなければ設定する必要はありません。
エフェメラルポートが不足している場合、nddコマンドを使用してtcp_smallest_anon_portおよびtcp_largest_anon_portを変更し、エフェメラルポートに使用できるポートを増やしてください。
永続的に設定を有効する場合には、RCプロシジャ(/etc/rc2.d)に登録が必要です。
RCプロシジャの例を以下に示します。
#!/bin/sh ndd -set /dev/tcp tcp_time_wait_interval 60000
短時間に数多くのクライアントが接続する場合、TCP/IPのソケット不足になりWebブラウザに「Internal Server Error」が表示される場合があります。
上記情報を追加することで、使用可能なソケット数を増やし、また、使用済みのソケットを早く開放するようになります。
注意
TCP/IPパラメタのチューニングは、すべてのTCPに対して影響を与えるため、システム管理者に相談してから実施してください。
エフェメラルポートに使用できるポートを増やす場合、Interstage、および他のアプリケーションが使用しているポートをエフェメラルポートに指定しないようにしてください。
■チューニング方法
エフェメラルポートが不足している場合、システムパラメタnet.ipv4.ip_local_port_rangeを変更して、エフェメラルポートに使用できるポートを増やしてください。
システムパラメタの変更については、「3.1 サーバ機能運用時に必要なシステム資源」の「システムパラメタの変更方法」を参照してください。
注意
TCP/IPパラメタのチューニングは、すべてのTCPに対して影響を与えるため、システム管理者に相談してから実施してください。
エフェメラルポートに使用できるポートを増やす場合、Interstage、および他のアプリケーションが使用しているポートをエフェメラルポートに指定しないようにしてください。