>Original Problem:
>I am having performance problems going from a Solaris 2.4
>host to a Sun4.1.4 host, or hosts that use BSD based networking.
The answer came from Jan Brittenson (bson@caribe-86.Eng.Sun.COM)
There's a bug in SunOS 4.x that results in poor performance when its
SO_SNDBUF is smaller than the other end's advertised TCP receive
window. 4.x defaults to a smaller receive window, which is why this
bug only happens by default when connected to a different TCP
implementation. Generally, newer commercial implementations have a
strong preference for larger windows.
The easiest workaround, if you have the source, is to add the
following to the 4.x code, after the connection has been established:
int sndbuf = 24*1024;
if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&sndbuf,
sizeof (sndbuf)) < 0)
perror("SO_SNDBUF");
You may wish to try something similar for SO_RCVBUF as well for the
opposite direction.
By the way, bug #1189147 is not a bug; the cause was that the
application logged things to the console as it transmitted data, and
so it illustrated the speed of printf() to the console, not a TCP
problem. Removing the printf() restored performance.
Hope this is of help!
-- Jan Brittenson
bson@eng.sun.com
Thanks to everyone who replied:
Eric Larson <Eric_Larson.ERIM@notes.erim.org>
Henry Katz <hkatz@panix.com>
Bill Wyatt <wyatt@mars.harvard.edu>
Rick Jones <raj@hpisrdq.cup.hp.com>
barnett@grymoire.crd.ge.com (Bruce Barnett)
bson@caribe-86.Eng.Sun.COM (Jan Brittenson)
William J. Sproule, Computer Systems Manager sproule@astro.Princeton.EDU
Department of Astrophysical Sciences
126 Peyton Hall Phone: +1 609-258-6483
Princeton University Fax: +1 609-258-1020
Princeton, NJ 08544-1001 MIME, PGP Accepted
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:10:53 CDT