- ネットワークの統計情報を確認する
# netstat -sP tcp tcpListenDrop = 3065 tcpListenDropQ0 = 0 tcpHalfOpenDrop = 0 tcpOutSackRetrans = 99
tcpListenDrop、tcpListenDropQ0、tcpHalfOpenDrop、tcpOutSackRetrans が 0 なら問題なし。
- パラメータ設定スクリプトを作成する(以下の値はてけとー)
# vi /etc/init.d/network-tuning #!/user/bin/sh /usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 5000 # for tcpListenDrop /usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q0 10000 # for tcpListenDropQ0 /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 60000 /usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_initial 20000 /usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_min 20000 /usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_max 600000 /usr/sbin/ndd -set /dev/tcp tcp_max_buf 1073741824
- OS起動時に実行されるようシンボリックリンクを作成する。
# ln -s /etc/init.d/network-tuning /etc/rc2.d/S99network-tuning
- sq_max_size を無制限に設定する(この値もてけとー)
# vi /etc/system set sq_max_size=0
- OSを再起動する
# init 6
- 確認する
# /usr/sbin/ndd /dev/tcp tcp_conn_req_max_q 5000 # /usr/sbin/ndd /dev/tcp tcp_conn_req_max_q0 10000 # /usr/sbin/ndd /dev/tcp tcp_time_wait_interval 60000 # /usr/sbin/ndd /dev/tcp tcp_rexmit_interval_min 20000 # /usr/sbin/ndd /dev/tcp tcp_rexmit_interval_initial 20000 # /usr/sbin/ndd /dev/tcp tcp_rexmit_interval_max 600000 # /usr/sbin/ndd /dev/tcp tcp_max_buf 1073741824
[参考]
http://www.sean.de/Solaris/soltune.html
http://docs.sun.com/app/docs/doc/819-2582/addgn?a=view
http://www.nognog.com/techmemo/Solaris_10_Setup_HOWTO.php
http://blogs.sun.com/yappri/entry/network_analysis
http://docs.sun.com/source/819-1206/B-analysis.html
http://homepage3.nifty.com/owl_h0h0/unix/job/UNIX/network/tcp_tune_sun.html
http://homepage3.nifty.com/owl_h0h0/unix/job/UNIX/network/netstat_solaris.html
Optimize Solaris’s TCP stack | Letsgetdugg