The Limits options pages
The 'Limits' pages in the Options notebook let you change various limits
which apply to running GoServe. The limits are grouped into three sets:
limits affecting clients, timeouts, and (on the second page) limits
restricting incoming data.
Clients limits
The 'Clients' set has three limits:
-
'Maximum at once' -- the maximum number of client connections
allowed concurrently [default 20]. Additional requests for
connection will be refused. This count lets you limit the maximum
load on your server, which is especially useful if it is also being
used as a personal workstation. Note that some Web clients, such
as Web Explorer, may make four or more connections at the same
time, to download inline graphics in parallel.
This limit, when exceeded, is only counted and audited once for
each non-idle burst of connections.
-
'Show warning at' -- the percentage at which the bar chart will
show a red warning indicator [default 75%]. This gives a visual
indication of heavy use of your server at a given instant (the peak
use is also shown on the bar display).
-
'Open files per client' -- the maximum number of open files
allowed, per client filter [default 5]. Increase this if you expect
your GoServe filter to have more than five files open at a time.
Timeouts
The 'Timeouts' set also has three limits; the first two timeout settings
control the time at which any uncompleted response may be terminated
automatically by GoServe's "watchdog" thread, and the third determines
how long GoServe will wait, on startup, for TCP/IP to become available:
-
'End client after inactive' -- the "inactive timeout", in seconds.
A connection will be closed if the specified time passes without
any data being received or transmitted over the connection. The
default is 60 seconds.
-
'End client after total' -- the "total timeout", in seconds. A
connection will be closed if the specified time passes since the
client connected to the port, even if there appears to be activity.
This value must not be less than the inactive timeout, and defaults
to 600 seconds. As a rule of thumb, this timeout might be set to a
number of seconds equal to or larger than the size of your largest
data file, expressed in kilobytes. This allows for transmission of
the file over a slow link running at one kilobyte per second.
-
'Wait for TCP/IP start' -- the "start timeout", in seconds. This
is the time for which GoServe will wait on startup for TCP/IP to
become operational, while retrying appropriate TCP/IP calls as
necessary [default 600 seconds]. This allows asynchronous starting
of TCP/IP and GoServe. A value of 0 seconds means immediate
timeout (that is, no retrys are performed, and GoServe will not
start if an error is found). No TCP/IP retry is attempted if the
requested port is in use (that is, it is likely that another copy
of GoServe is already running).
Notes on timeouts:
-
For the first two timeouts, a value of zero seconds may be
specified to indicate an indefinite time (that is, the timeout
check is not made). You should only set both timeouts to zero if
the filter is trusted, the data it accesses is always available
locally, and all clients used with the server have a timeout
mechanism.
-
When the timeout takes place there may be some delay (typically up
to 15 seconds) before the transaction is interrupted. If the Rexx
filter is still running, it will have the HALT condition raised
during this process; the HALT condition may be trapped by CALL ON
HALT or SIGNAL ON HALT for necessary cleanup which should normally
be followed by an immediate EXIT.
Incoming data
The 'Incoming data' set is on the second Limits page (use the rightmost
button at the bottom of the first page, or Alt+Page Down, to get to it).
It has two limits which restrict how much incoming data will be accepted
by the server:
-
'Header size' -- the maximum size (in thousands of bytes) of header
that will be accepted. The transaction will be ended if a header
is received that exceeds the specified size; this gives some
protection against a client that sends an invalid or never-ending
header. This limit is used whenever a header is read, either
automatically or because of the READ command. The default is 10
thousand bytes (10kB).
-
'Body data size' -- the maximum size (in thousands of bytes) of
body data that will be accepted. The transaction will be ended if
a client sends data that exceeds the specified size, and an attempt
is made to read it using the READ command. The default is 50
thousand bytes (50kB).
[ previous section | GoServe | next section ]
From 'goserve.doc', version 2.32.
Copyright © International Business Machines Corporation, 1993, 1995.
All rights reserved.