From: Kevin on

On my Solaris 9 server running web applications, I see high amount of
tcpAttemptFails. During peak loads its around 10-15 per second. We are
facing response time issues but cannot seem to nail down the exact
cause. I have checked and checked the net, but cannot seem to find the
actions I need to take if I see high tcpAttemptFails.

Please let me know if anyone knows what corrective actions need to be
taken when this occurs.

Kevin.

From: tunla on
On Mar 3, 12:40 am, "Kevin" <kejos...(a)hotmail.com> wrote:
> On my Solaris 9 server running web applications, I see high amount of
> tcpAttemptFails. During peak loads its around 10-15 per second. We are
> facing response time issues but cannot seem to nail down the exact
> cause. I have checked and checked the net, but cannot seem to find the
> actions I need to take if I see high tcpAttemptFails.
>
> Please let me know if anyone knows what corrective actions need to be
> taken when this occurs.
>
> Kevin.

What are the Values for your configured amount of tcp connections ?

# ndd /dev/tcp tcp_conn_req_max_q0
1024
# ndd /dev/tcp tcp_conn_req_max_q
128


The above is the default values and usually too low to support a
website.
They need to be set higher, to maybe 4096 and 2048
respectivley depending on
the capacity of the webserver ,

also you need to set the number of available file descriptors for
the webserver software
higher than "tcp_conn_req_max_q" maybe as much as thrice the
value, as you need to open
diskfiles as well as tcp-connections with the webserver software.

you can check your current no_of _filedescriptors per process with
the command.

ulimit -a

so if tcp_conn_req_max_q is 2048 ,
you may need to set "rlim_fd_cur" to 8192 in /etc/system

Regards
//Lars



From: Sam N on
Kevin wrote:
> On my Solaris 9 server running web applications, I see high amount of
> tcpAttemptFails. During peak loads its around 10-15 per second. We are
> facing response time issues but cannot seem to nail down the exact
> cause. I have checked and checked the net, but cannot seem to find the
> actions I need to take if I see high tcpAttemptFails.
>
> Please let me know if anyone knows what corrective actions need to be
> taken when this occurs.
>
> Kevin.
>

Hi Kevin - if the box is busy try tuning the stack a bit.

http://www.unix.ms/stacktune

From: Kevin on
Thanks for the reply guys, however, most of the parameters you
mentioned are already tweaked. The tcp_conn_hash_size is set a bit low
(although 8192 is pretty high). Also, the "rlim_fd_max=8192" ; while
this may not be thrice tcp_conn_req_max_q it is pretty high.

If I am way wrong about the above, please let me know. Ideally, if you
can point me to some site which lists the above as cause for
"tcpAttemptFails" it would be fantastic. Believe me, I have searched
and searched but not found any ; hence this post !

Thanks for all your help.

$ ndd -get /dev/tcp tcp_time_wait_interval
60000
$ ndd -get /dev/tcp tcp_fin_wait_2_flush_interval
16000
$ ndd -get /dev/tcp tcp_rexmit_interval_max
10000
$ ndd -get /dev/tcp tcp_ip_abort_interval
60000
$ ndd -get /dev/tcp tcp_keepalive_interval
90000
$ ndd -get /dev/tcp tcp_conn_req_max_q
16384
$ ndd -get /dev/tcp tcp_conn_req_max_q0
16384
$ ndd -get /dev/tcp tcp_xmit_hiwat
131072
$ ndd -get /dev/tcp tcp_recv_hiwat
131072
$ ndd -get /dev/tcp tcp_smallest_anon_port
32768
$ grep conn /etc/system
set tcp:tcp_conn_hash_size=8192

From: tunla on
On Mar 5, 5:17 pm, "Kevin" <kejos...(a)hotmail.com> wrote:
> Thanks for the reply guys, however, most of the parameters you
> mentioned are already tweaked. The tcp_conn_hash_size is set a bit low
> (although 8192 is pretty high). Also, the "rlim_fd_max=8192" ; while
> this may not be thrice tcp_conn_req_max_q it is pretty high.
>
> If I am way wrong about the above, please let me know. Ideally, if you
> can point me to some site which lists the above as cause for
> "tcpAttemptFails" it would be fantastic. Believe me, I have searched
> and searched but not found any ; hence this post !
>
> Thanks for all your help.
>
> $ ndd -get /dev/tcp tcp_time_wait_interval
> 60000
> $ ndd -get /dev/tcp tcp_fin_wait_2_flush_interval
> 16000
> $ ndd -get /dev/tcp tcp_rexmit_interval_max
> 10000
> $ ndd -get /dev/tcp tcp_ip_abort_interval
> 60000
> $ ndd -get /dev/tcp tcp_keepalive_interval
> 90000
> $ ndd -get /dev/tcp tcp_conn_req_max_q
> 16384
> $ ndd -get /dev/tcp tcp_conn_req_max_q0
> 16384
> $ ndd -get /dev/tcp tcp_xmit_hiwat
> 131072
> $ ndd -get /dev/tcp tcp_recv_hiwat
> 131072
> $ ndd -get /dev/tcp tcp_smallest_anon_port
> 32768
> $ grep conn /etc/system
> set tcp:tcp_conn_hash_size=8192



These values seems to come rigth from the pages of the BEA
Weblogic manual
Are you using BEA Weblogic ?

check $BEAHOME/weblogic81/common/bin/commEnv.sh

It sets ulimit -n 1024

which is not what you want !!!!!!!

Regards //Lars