Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Tuning TCP/IP
I have a document from Sun that references some tcp/ip parameters that could
be tweaked for better network performance, but has a very obvious caveat:
"*oracle is very sensitive to round-trip performance, and setting
tcp_xmit_hiwat (and tcp_recv_hiwat) to a value much higher than the default
causes much longer waiting time.*"
The parameters in question are:
/usr/sbin/ndd -set /dev/tcp tcp_tstamp_if_wscale 1
/usr/sbin/ndd -set /dev/tcp tcp_sack_permitted 2
/usr/sbin/ndd -set /dev/tcp tcp_xmit_hiwat 16777216
/usr/sbin/ndd -set /dev/tcp tcp_recv_hiwat 16777216
/usr/sbin/ndd -set /dev/tcp tcp_cwnd_max 16777216
/usr/sbin/ndd -set /dev/tcp tcp_max_buf 16777216
I did some looking around on google, but the only thing I could find documented were some suggestions. For example, it is recommend that tcp_xmit_hiwat be maxed at 32k for 9i and 64k for 10g. But why? In what ways is Oracle "very sensitive to round-trip performance", and why would these parameters increase wait time? In talking with my local sysadmin, we have come to the conclusion that any outgoing tcp/ip packets that hit a device with a lower hiwat (High Watermark) will have be re-chunked into the lower number, which may cause some overhead. I am hoping that others out there smarter than I might be able to affirm or contradict that hypothesis.
Obviously, we are going to test these parameters. We have already done some simple OS testing and found very favorable performance increases. In testing an Oracle communication, would kind of wait event would I look for? SQL*Net message to and from client?
PS - Obviously, this is a Sun document and they cannot speak for Oracle. I am taking their statement with a little bit of salt. =)
-- Charles Schultz -- http://www.freelists.org/webpage/oracle-lReceived on Fri Sep 14 2007 - 15:01:32 CDT