FINWAIT


UNIX

FINWAITFINWAIT2 のタイムアウトの時間を変えるには...

  • TIME-WAIT
    tcp_time_wait_interval

Solaris Tipsより転載。
ストリームドライバのキューサイズと TCP に対するハッシュサイズを制御します。0 に設定すると無限になるので、パフォーマンスはバッファの容量不足による影響を受けなくなります。(安全値の目安は、64MのRAMなら25、128Mなら50ぐらい)/etc/system ファイルに記述します。

set sq_max_size = 0                 (デフォルトは 2)
set tcp:tcp_conn_hash_size = 262144   (デフォルトは 256)

TCPスタックに関するパラメータを ndd コマンドで設定します。/etc/init.d/inetinit に記述しておくことでシステム起動時に設定されます。(Solaris のバージョンによってはパッチが必要です)

ndd -set /dev/tcp tcp_close_wait_interval       60000   (240000)
ndd -set /dev/tcp tcp_time_wait_interval        60000   (240000)
ndd -set /dev/tcp tcp_mss_max                   6000
ndd -set /dev/tcp tcp_fin_wait_2_flush_interval 16000
ndd -set /dev/ip  ip_path_mtu_discovery         0
ndd -set /dev/tcp tcp_conn_req_max_q            1024    (128)
ndd -set /dev/tcp tcp_conn_req_max_q0           4096    (1024)
ndd -set /dev/tcp tcp_conn_req_min              1
ndd -set /dev/tcp tcp_xmit_hiwat                65535   (送信バッファ:8129)
ndd -set /dev/tcp tcp_recv_hiwat                65535   (受信バッファ:8129)
ndd -set /dev/tcp tcp_cwnd_max                  65534
ndd -set /dev/tcp tcp_keepalive_interval        90000   (負荷が大きい場合小さく:720000)
ndd -set /dev/tcp tcp_ip_abort_interval         60000   (480000)
ndd -set /dev/tcp tcp_ip_abort_cinterval        60000   (480000)
ndd -set /dev/tcp tcp_rexmit_interval_initial   3000    (再転送率が 30-40% を超える場合大きく:3000)
ndd -set /dev/tcp tcp_rexmit_interval_min       3000    (200)
ndd -set /dev/tcp tcp_rexmit_interval_max       10000   (240000)
ndd -set /dev/tcp tcp_smallest_anon_port        1024    (32768)
ndd -set /dev/tcp tcp_conn_grace_period         500
ndd -set /dev/ip  ip_ignore_redirect            1
ndd -set /dev/tcp tcp_slow_start_initial        2       (Solaris 2.5, 2.6の場合)
  • バッファオーバーフロー攻撃から保護する
    set noexec_user_stack=1
    set noexec_user_stack_log=1
    sun4u/sun4d/sun4m のアーキテクチャしか有効になりません。