> From: "Brad Stone" <brad@bvstools.com>
> We have a lot of HTTP instances running, and
> if it would happen to all of them, then I'd look at
> hardware.  But because it's just one HTTP server
> instance (that is running 24/7) I wonder.

This is another reason to suspect the settings of the CHGHTTPA command.  To
support more concurrent users, the solution is to increase the number of
HTTP Server threads.  Threads are light-weight.  They consume little memory
or CPU time.  Why not increase the number?

On the other hand, some Web Masters reduce the number of HTTP Server threads
in an attempt to manage the number of HTTP Server BCI Jobs that become
active (eventually) to support CGI programs that run in named activation
groups.

It may be a surprise to some, but the CGI interface was not designed to
scale well.  It's great for programs that get occasional use.  But not for
robust applications that need to support lots of concurrent users.

The CGI interface leads to run-away resource consumption.  If a BCI Job is
busy handling a connection for one user, the HTTP Server will start another
instance of the BCI Job, and another instance of the CGI program to handle a
connection for a new user.  If the CGI program runs under a named activation
group, then it remains active (consuming resources) after the user has
disconnected from the site.

If, for example, the HTTP Server is configured to support 100 threads, then
that same number of BCI Jobs may be started (eventually) to support CGI
users.  If your site were to host 50 CGI modules, and they all ran under a
named activation group, then 5,000 program modules may become (and remain)
active (100 BCI Jobs times 50 CGI modules).

The problem is exacerbated when the OS/400 system hosts multiple sites.  If,
for example:

www.busy-site.com

and

www.few-visitors-come-here.com

are hosted on the same box, then the CHGHTTPA settings must be configured
for the busy site.  There's really no effective way to manage run-away CGI
resource consumption, on a busy server that hosts robust, highly-interactive
CGI programs.

<self promoting plug>
Relational-Web is an ILE Web application framework that scales well.
</end plug>

Both Netscape Navigator and Internet Explorer request persistent connections
by default via the Keep-Alive keyword.  To support a busy interactive Web
site, I have found it necessary to use lots of HTTP Server threads, and to
support persistent connections.

Nathan M. Andelin
www.relational-data.com




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.