Restarting
The server uses a process which runs for a long time, sometimes
months, while modules are installed and reloaded. Challenger is
designed for this, but during months of operation many things can
happen. If the server starts using more resources than
normal, or responses are slower, it might be a good idea to restart
it.
Restarting can be done either with the Shutdown/Shut down
Roxen action or by killing its pike process. The start script
will ensure that the server is restarted.
Restarting the server takes from about 10 seconds up to a few
minutes depending on server configuration. This is intentional, as
Challenger still needs to finish serving the requests which were
active when the shutdown procedure was initiated. The only noticeable
effect when restarting should be that the server will not respond
during startup.
Automatically restarting Challenger
It is possible to schedule restarts at regular intervals, setting
Global Variables/Automatic Restart... The variable specifies the number of
days between automatic restarts. Scheduling an automatic restart every
30th day might be a good idea.
Anti Block System
The fact that Challenger consists of only one process can sometimes be
a drawback. Should the process hang or enter an endless loop, the
whole site will be down. To recover from such situations, Challenger
offers an ABS, or Anti Block System, to be configured under
Global Variables/Anti-Block-System. The ABS will check if the server responds
within a certain amount of time and else restart the server
automatically.
You can set the timeout the ABS will use before checking if the server
is still up, by changing the Global Variables/Anti-Block-System/Timeout
variable. If this timeout is too fast the ABS may assume that your
server is hanged while it just slow to respond. By examining old debug
logs it is possible to see if the ABS has unnecessarily restarted the
server.
PID file
The process ID number of the pike process and the start script will be
written to a file, by default /tmp/roxen_pid:$uid. It can
be configured through Global Variables/PID file. The PID file can be used by
an external program or script to restart the server.
|