poor performance for Sol2.4 to SunOS4.1.4

2007-12-25 9:31:00

>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

Comments

Got something to say?

You must be logged in to post a comment.