Thank you all for your help.
Bumping the crontab job to every five minutes seemed to stop the issue from happening at all. Which is awfully weird.
I haven't changed the keepalive scripts, but I put a link to this thread in them, since I've run into this problem before.
I was running the server on the OpenACS defaults. I'm committing changes to those defaults based on this thread:
safe4all-dev@safe4all:~/oacs-5-1/etc$ cvs diff -u config.tcl
mailto:jader@cvs.openacs.org's password:
Index: config.tcl
===================================================================
RCS file: /cvsroot/openacs-4/etc/config.tcl,v
retrieving revision 1.19.2.18
diff -u -r1.19.2.18 config.tcl
--- config.tcl 19 Jan 2005 00:46:47 -0000 1.19.2.18
+++ config.tcl 7 Feb 2005 00:34:05 -0000
@@ -131,11 +131,11 @@
ns_section ns/server/${server}
ns_param directoryfile $directoryfile
ns_param pageroot $pageroot
- ns_param maxconnections 5
+ ns_param maxconnections 100 ;# Max connections to put on queue
ns_param maxdropped 0
- ns_param maxthreads 5
+ ns_param maxthreads 10
ns_param minthreads 5
- ns_param threadtimeout 120
+ ns_param threadtimeout 120 ;# Idle threads die at this rate
ns_param globalstats false ;# Enable built-in statistics
ns_param urlstats false ;# Enable URL statistics
ns_param maxurlstats 1000 ;# Max number of URL's to do stats on