httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Wilson <and...@www.elsevier.co.uk>
Subject (fwd) Re: Solaris 2.4 http server hangs on accept() during high load
Date Mon, 26 Jun 1995 11:16:02 GMT

I dunno if anyone's seen this from c.i.w.s.u.  Any comments.

Ay.

     Andrew Wilson	     URL: http://www.cm.cf.ac.uk/User/Andrew.Wilson/
Elsevier Science, Oxford   Office: +44 01865 843155    Mobile: +44 0589 616144

----- Begin Included Message -----

>From a.rixon@elsevier.co.uk Fri Jun 23 13:23:03 1995
Date: Fri, 23 Jun 1995 13:25:44 +0100
From: Ade Rixon <ajr@cadair.elsevier.co.uk>
To: andrew@www.elsevier.co.uk
Subject: (fwd) Re: Solaris 2.4 http server hangs on accept() during high load
Newsgroups: comp.infosystems.www.servers.unix,comp.unix.solaris
Organization: Elsevier Science Ltd, Oxford, UK
Content-Length: 1518

Seen this?

>From: payne@OpenMarket.com (Andrew Payne)
>Date: 20 Jun 1995 15:08:11 -0400

In article <3s4uhi$kl3@news.xs4all.nl> erwin@dds.nl (Erwin Bolwidt) writes:

>>>We're running the Apache 0.6.2 http server on a dual sparc Sparcserver 
>>>1000. The server is getting 150,000 - 160,000 hits a day and the number 
>>>is still growing.
>
>>I ran into a similar problem with Apache 0.6.2 & Solaris 2.4 on a Sparc 20.
>>Any large number of connects (~8K in 15 seconds) will cause terrible problems
>>throughout the TCP networking code.  The problem also happened with NCSA
>>httpd 1.3, 1.4, and Netscape's Commerce Server.
>
>>Unfortunately, I cant seem to convince Sun that there is a problem with their
>>OS, so as far as I know there is no official bug.

This is a long shot diagnosis, because I don't know the internal 
architectures for the various servers, but Solaris does not support 
multi-process accept() calls on the same file descriptor.

If the server does the following:

    bind()
    fork()
    accept()		/* in each listener process */

you can {panic,crash,hang} the Solaris kernel under very heavy load.  We 
ran into this problem when we were stress-testing our own WebServer.

The official workaround from Sun is to serialize the calls to accept().

-- 
Andrew Payne                          http://www.openmarket.com/personal/payne
Open Market, Inc.

--
 | Ade Rixon, Elsevier Science Ltd     |    http://www.dcs.aber.ac.uk/~ajr/  |

		"Gentlemen!! Let's broaden our minds!"
							- The Joker


----- End Included Message -----


Mime
View raw message