edit · history · print

IT.SolarisTCPTuning History

Hide minor edits - Show changes to markup

October 27, 2009, at 07:42 PM by 193.40.56.130 -
Changed lines 7-12 from:

ndd /dev/tcp tcp_recv_hiwat ndd /dev/tcp tcp_xmit_hiwat ndd /dev/tcp tcp_max_buf ndd /dev/tcp tcp_cwnd_max ndd /dev/ip ip_soft_rings_cnt

to:
 ndd /dev/tcp tcp_recv_hiwat
 ndd /dev/tcp tcp_xmit_hiwat 
 ndd /dev/tcp tcp_max_buf
 ndd /dev/tcp tcp_cwnd_max
 ndd /dev/ip ip_soft_rings_cnt
Changed lines 15-20 from:

ndd -set /dev/tcp tcp_recv_hiwat 524288 ndd -set /dev/tcp tcp_xmit_hiwat 524288 ndd -set /dev/tcp tcp_max_buf 16777216 ndd -set /dev/tcp tcp_cwnd_max 16777216 ndd -set /dev/ip ip_soft_rings_cnt 16

to:
 ndd -set /dev/tcp tcp_recv_hiwat 524288
 ndd -set /dev/tcp tcp_xmit_hiwat 524288
 ndd -set /dev/tcp tcp_max_buf 16777216
 ndd -set /dev/tcp tcp_cwnd_max 16777216
 ndd -set /dev/ip ip_soft_rings_cnt 16
October 27, 2009, at 07:41 PM by 193.40.56.130 -
Changed lines 13-14 from:
 Increasing the TCP buffer sizes (the system has to have plenty of memory though) can be achieved with:
to:

Increasing the TCP buffer sizes (the system has to have plenty of memory though) can be achieved with:

October 27, 2009, at 07:41 PM by 193.40.56.130 -
Changed line 7 from:

@@ndd /dev/tcp tcp_recv_hiwat

to:

ndd /dev/tcp tcp_recv_hiwat

Changed lines 11-12 from:

ndd /dev/ip ip_soft_rings_cnt@@

to:

ndd /dev/ip ip_soft_rings_cnt

Deleted line 14:

[@

Changed lines 20-21 from:

@]

to:
October 27, 2009, at 07:41 PM by 193.40.56.130 -
Changed lines 7-8 from:

[@ ndd /dev/tcp tcp_recv_hiwat

to:

@@ndd /dev/tcp tcp_recv_hiwat

Changed lines 11-13 from:

ndd /dev/ip ip_soft_rings_cnt @]

to:

ndd /dev/ip ip_soft_rings_cnt@@

October 27, 2009, at 07:40 PM by 193.40.56.130 -
Added lines 1-25:

Tuning the Solaris TCP stack for long distance fast communication

The usual settings of both OpenSolaris as well as Solaris seem to be optimal for sending data across that link as long as you remain in the 1Gbit/s region, but are not optimal for receiving. The quick tests showed with default settings ca 900 Mbit/s upload and 250Mbit/s download speeds.

To check your current settings have a look at the following variables (the last one seems not to be defined in OpenSolaris):

ndd /dev/tcp tcp_recv_hiwat
ndd /dev/tcp tcp_xmit_hiwat
ndd /dev/tcp tcp_max_buf
ndd /dev/tcp tcp_cwnd_max
ndd /dev/ip ip_soft_rings_cnt
 Increasing the TCP buffer sizes (the system has to have plenty of memory though) can be achieved with:
ndd -set /dev/tcp tcp_recv_hiwat 524288
ndd -set /dev/tcp tcp_xmit_hiwat 524288
ndd -set /dev/tcp tcp_max_buf 16777216
ndd -set /dev/tcp tcp_cwnd_max 16777216
ndd -set /dev/ip ip_soft_rings_cnt 16

This sets the default buffer sizes to 512KB and the maximum buffer size to 16MB. It should be easily handled by a decent system and should give a decent performance even at 300ms distances and multi Gbit/s speeds. In case memory issues appear you can reduce the usage by halving the numbers.

edit · history · print
Page last modified on October 27, 2009, at 07:42 PM