Setting TCP receive buffer default size on Solaris 2.4

Setting TCP receive buffer default size on Solaris 2.4

Post by Dario Erco » Wed, 28 Feb 1996 04:00:00


I am having performance problems running a Nescape client on a Solaris 2.4
machine with ATM board (SBA-200 by Fore Systems).

I have a server with Solaris 2.3 and ATM board; if the client runs on
SunOS 4.1.3 machine, the performance is good (about 0,5 s. for 1.2 Mbyte
file). If the client runs on Solaris 2.4, the performance is much worse (a
few seconds for the same file).

Apparently the problem is the TCP receive buffer size, that is bigger for
SunOS than for Solaris. Moreover the default size is settable under SunOS,
but I could not find a way to resize it under Solaris (the default is now
8 Kbyte, slightly smaller than the MTU for ATM interfaces).
I temporarily solved the problem using a 1500-byte MTU for the ATM
interface (the time is now about 1 s.), but I am looking for a way to
increase the default TCP receive buffer size to 64 kbyte.

Any idea ?

-- Dario


1. Receiving TCP ignores sending data when receiving buffer is full???

I have an application where a server sends data on either a signal
interrupt (A) or an alarm (B) on the same non-blocking stream socket.
So A & B continously send data over the socket.  Occasionally a
problem occurs when the sequence is like this: A sends, B sends but
the receiving socket only got data from A and not B. In Richard
Stevens's Unix Network Programming Vol1 he indicated the following:

      "With TCP the available room in the socket receive buffer is the
window that TCP advertises to the other end.  The socket receive
buffer can not overflow because the peer isn't allowed to send data
beyond the advertised window.  This is TCP flow control and if the
peer ignores the advertised window and sends data beyond the window,
the receiving TCP discards it".

   Is this what happened in my case?  If so is there a way for the
sending process to check the advertised window before sending to make
sure the sending data won't be discarded?  If not is there a solution
to make sure the receiving TCP won't discard the data?  Since data
from B is more important than data from A is there a way to flush the
receiving buffer before sending data from B to make sure the receiving
buffer will get the data from B?

 Any help is much appreciated.  Thanks in advance.

2. ibmcxx compiler makefiles

3. How to set TCP send & receive buffer

4. read/write of socket, threading

5. Q: Setting size of serial device receive buffer under IRIX?

6. Linux 2.4.21rc2-ac3

7. TCP/IP receive window size Sybase/Solaris

8. Reading is much more interesting than TV (0298/1708)

9. How to set the buffer size of TCP/IP connection?

10. Finding out TCP peer receive window size using Berkeley Sockets (on Solaris and others) ?

11. Any relationship between message size and tcp/udp socket buffer size?

12. How to set solaris /dev/hme maximum size of reception buffer

13. change Send-/Receive-buffer size? (like in WIN95)