TCP Tunning / TCP Performance

1. TCP Tunning / TCP Performance

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 19/09/2011 - 15:54h

Acompanho um blog de TI e segurança, e esses dias me deparei com o termo TCP Tunning, gostaria de saber se algum de vocês tem conhecimento sobre a técnica, e como aplica-lá. Achei algum material em inglês apenas, parece ser interessante, abaixo um script que estou tentando entender,

#!/sbin/sh
#
# Tuning Script for TCP Applications
# Version 1.1
# By Colin Bitterfield
# Excerpts from various sources
# To Install this script
# Copy file to /etc/init.d
# chown root:sys tcp-performance (Or whatever you named the script)
# chmod 755 tcp-performance
# ln -s /etc/init.d/tcp-performance /etc/rc3.d/S79tcp.performance
#
#
VERSION="1.1"
######################################################################

case "$1" in
start)
echo "TCP Performance script ${VERSION}"
/usr/sbin/ndd -set /dev/tcp tcp_deferred_ack_interval 1
/usr/sbin/ndd -set /dev/tcp ip_ignore_redirect 1
/usr/sbin/ndd -set /dev/tcp tcp_conn_grace_period 500
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 8096
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q0 8096
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_min 1
/usr/sbin/ndd -set /dev/tcp tcp_cwnd_max 65534
/usr/sbin/ndd -set /dev/tcp tcp_fin_wait_2_flush_interval 16000
/usr/sbin/ndd -set /dev/tcp tcp_ip_abort_cinterval 60000
/usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval 60000
/usr/sbin/ndd -set /dev/tcp tcp_keepalive_interval 90000
/usr/sbin/ndd -set /dev/tcp tcp_recv_hiwat 32768
/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_initial 3000
/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_max 10000
/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_min 3000
/usr/sbin/ndd -set /dev/tcp tcp_slow_start_initial 2
/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 60000
/usr/sbin/ndd -set /dev/tcp tcp_xmit_hiwat 32768

echo "NOTICE: Check the following parameters value in /etc/system"
echo " * set tcp:tcp_conn_hash_size=8192"
echo " * set rlim_fd_max=4096"
echo " * set rlim_fd_cur=2000"

cmdtext="setting"
;;
default)
/usr/sbin/ndd -set /dev/tcp ip_ignore_redirect 0
/usr/sbin/ndd -set /dev/tcp tcp_conn_grace_period 0
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 128
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q0 1024
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_min 1
/usr/sbin/ndd -set /dev/tcp tcp_cwnd_max 1048576
/usr/sbin/ndd -set /dev/tcp tcp_fin_wait_2_flush_interval 675000
/usr/sbin/ndd -set /dev/tcp tcp_ip_abort_cinterval 180000
/usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval 480000
/usr/sbin/ndd -set /dev/tcp tcp_keepalive_interval 7200000
/usr/sbin/ndd -set /dev/tcp tcp_recv_hiwat 24576
/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_initial 3000
/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_max 60000
/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_min 400
/usr/sbin/ndd -set /dev/tcp tcp_slow_start_initial 4
/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 240000
/usr/sbin/ndd -set /dev/tcp tcp_xmit_hiwat 16384

cmdtext="resetting (kernel default)"
;;
show)
echo "ip_ignore_redirect `/usr/sbin/ndd /dev/tcp ip_ignore_redirect`"
echo "tcp_conn_grace_period `/usr/sbin/ndd /dev/tcp tcp_conn_grace_period`"
echo "tcp_conn_req_max_q `/usr/sbin/ndd /dev/tcp tcp_conn_req_max_q`"
echo "tcp_conn_req_max_q0 `/usr/sbin/ndd /dev/tcp tcp_conn_req_max_q0`"
echo "tcp_conn_req_min `/usr/sbin/ndd /dev/tcp tcp_conn_req_min`"
echo "tcp_cwnd_max `/usr/sbin/ndd /dev/tcp tcp_cwnd_max`"
echo "tcp_fin_wait_2_flush_interval `/usr/sbin/ndd /dev/tcp tcp_fin_wait_2_flush_interval`"
echo "tcp_ip_abort_cinterval `/usr/sbin/ndd /dev/tcp tcp_ip_abort_cinterval`"
echo "tcp_ip_abort_interval `/usr/sbin/ndd /dev/tcp tcp_ip_abort_interval`"
echo "tcp_keepalive_interval `/usr/sbin/ndd /dev/tcp tcp_keepalive_interval`"
echo "tcp_recv_hiwat `/usr/sbin/ndd /dev/tcp tcp_recv_hiwat`"
echo "tcp_rexmit_interval_initial `/usr/sbin/ndd /dev/tcp tcp_rexmit_interval_initial`"
echo "tcp_rexmit_interval_max `/usr/sbin/ndd /dev/tcp tcp_rexmit_interval_max`"
echo "tcp_rexmit_interval_min `/usr/sbin/ndd /dev/tcp tcp_rexmit_interval_min`"
echo "tcp_slow_start_initial `/usr/sbin/ndd /dev/tcp tcp_slow_start_initial`"
echo "tcp_time_wait_interval `/usr/sbin/ndd /dev/tcp tcp_time_wait_interval`"
echo "tcp_xmit_hiwat `/usr/sbin/ndd /dev/tcp tcp_xmit_hiwat`"

cmdtext="status"
;;

stop)
cmdtext="stopping"
;;
*)
echo "Usage: $0 {start|stop|show|default}"
exit 1
;;
esac


exit 0


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts