Tuning Solaris TCP/IP settings benefits programs that open and close many sockets. Since the Enterprise Server operates with a small fixed set of connections, the performance gain might not be significant.
The following table shows Solaris tuning parameters that affect performance and scalability benchmarking. These values are examples of how to tune your system for best performance.
Table 5–1 Tuning Parameters for Solaris
Parameter |
Scope |
Default |
Tuned Value |
Comments |
---|---|---|---|---|
/etc/system |
65536 |
65536 |
Limit of process open file descriptors. Set to account for expected load (for associated sockets, files, and pipes if any). |
|
/etc/system |
1024 |
8192 | ||
/etc/system |
2 |
0 |
Controls streams driver queue size; setting to 0 makes it infinite so the performance runs won’t be hit by lack of buffer space. Set on clients too. Note that setting sq_max_size to 0 might not be optimal for production systems with high network traffic. |
|
ndd /dev/tcp |
240000 |
60000 |
Set on clients too. |
|
ndd /dev/tcp |
240000 |
60000 |
Set on clients too. |
|
ndd /dev/tcp |
128 |
1024 | ||
ndd /dev/tcp |
1024 |
4096 | ||
ndd /dev/tcp |
480000 |
60000 | ||
ndd /dev/tcp |
7200000 |
900000 |
For high traffic web sites, lower this value. |
|
ndd /dev/tcp |
3000 |
3000 |
If retransmission is greater than 30-40%, you should increase this value. |
|
ndd /dev/tcp |
240000 |
10000 | ||
ndd /dev/tcp |
200 |
3000 | ||
ndd /dev/tcp |
32768 |
1024 |
Set on clients too. |
|
ndd /dev/tcp |
1 |
2 |
Slightly faster transmission of small amounts of data. |
|
ndd /dev/tcp |
8129 |
32768 |
Size of transmit buffer. |
|
ndd /dev/tcp |
8129 |
32768 |
Size of receive buffer. |
|
ndd /dev/tcp |
512 |
8192 |
Size of connection hash table. See Sizing the Connection Hash Table. |
The connection hash table keeps all the information for active TCP connections. Use the following command to get the size of the connection hash table:
ndd -get /dev/tcp tcp_conn_hash
This value does not limit the number of connections, but it can cause connection hashing to take longer. The default size is 512.
To make lookups more efficient, set the value to half of the number of concurrent TCP connections that are expected on the server. You can set this value only in /etc/system, and it becomes effective at boot time.
Use the following command to get the current number of TCP connections.
netstat -nP tcp|wc -l