大多数情况下,这些错误可以通过调整TCP的wait_time值和TCP队列大小来避免。下面是不同操作系统需要调整的参数。
1. Solaris 调整参数
1)使用ndd命令设置TCP的参数
下面是常用的TCP调整参数:
· /dev/tcp tcp_time_wait_interval
· /dev/tcp tcp_conn_req_max_q
· /dev/tcp tcp_conn_req_max_q0
· /dev/tcp tcp_ip_abort_interval
· /dev/tcp tcp_keepalive_interval
· /dev/tcp tcp_rexmit_interval_initial
· /dev/tcp tcp_rexmit_interval_max
· /dev/tcp tcp_rexmit_interval_min
· /dev/tcp tcp_smallest_anon_port
· /dev/tcp tcp_xmit_hiwat
· /dev/tcp tcp_recv_hiwat
· /dev/ce instance
· /dev/ce rx_intr_time
提示:使用netstat -s -P的tcp命令来查看所有可用的TCP参数。
设置TCP相关的调整参数请使用ndd命令,如下例所示:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
2)设置/etc/system文件的参数
每个到服务器的socket连接都有一个文件描述符。为了优化socket的性能,需要配置操作系统拥有合适的文件描述符个数。因此,需要改变/etc/system 文件中的默认文件描述符限制,还有哈希表的大小和其他调整参数。