Solaris TCP/IP performance tuning

performancesolaristcpip

I am trying to tune a high message traffic system running on Solaris. The architecture is a large number (600) of clients which connect via TCP to a big Solaris server and then send/receive relatively small messages (.5 to 1K payload) at high rates. The goal is to minimize the latency of each message processed. I suspect that the TCP stack of the server is getting overwhelmed by all the traffic. What are some commands/metrics that I can use to confirm this, and in case this is true, what is the best way to alleviate this bottleneck?

PS I posted this on StackOverflow originally. One person suggested snoop and dtrace. dtrace seems pretty general – are there any additional pointers on how to use it to diagnose TCP issues?

Best Answer

Take a look at the dtrace toolkit for starters, also "netstat -na" output...do you see a lot of connections in TIME WAIT...

In the dtrace toolkit (google it), the "connections" script may be of particular interest to you. This is assuming you are using Solaris 10 of course...

600 concurrent TCP connections is not a particularly large number.

If you do need tuning you'll be using ndd to set kernel parameters. See: Internet Protocol Suite Tunable Parameters

Related Topic