2008年3月5日水曜日

Solarisで、TCP 関連のチューニングを行なう

TCP 関連のチューニングを行なう
Solaris を、Web アプリケーションサーバーとして使用する場合、幾つかチューニングを行なうことでパフォーマンスを向上させることが出来ます。

ストリームドライバのキューサイズと 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の場合)

 

0 件のコメント: