Stefan Scholl <stesch@no-spoon.de> wrote:
+---------------
| Which Common Lisp implementation is suited for a long running web
| application on a VPS (virtual private server)? Web server:
| Hunchentoot.
+---------------
I don't know about either VPS or Hunchentoot in detail, but I've
been using CMUCL [on both FreeBSD & Linux] to run my own "appsrv" web
infrastructure [which does some of the same things as Hunchentoot]
with uptimes of up to a year at a shot. The CMUCL-hosted application
has never been the cause of the server rebooting; it's always been
something else [co-lo mandated reboots, O/S upgrades, etc.].
There is some kind of periodic background consing of ~300 bytes/s
that goes on which I suspect is because I'm using CMUCL's green
threads [the "multiprocessing" package, though it's really just
coroutines] and at every "idle timeout" there's a context switch
which allocates ~30 bytes somewhere, but I haven't bothered to
track it down since the GC collects it all just fine every couple
of hours, e.g., from the log file of one of the servers:
; Oct 13 17:11:37.06 GC: Start: 17.814016 MB in use.
; Oct 13 17:11:37.07 GC: Done: 5.818672 MB in use, 11.995344 MB freed, 0.01 secs.
; Oct 14 02:25:35.89 cgi-sock[3116]: GET "/~rpw3/uf.lhp"
; Oct 14 03:40:55.13 GC: Start: 17.831992 MB in use.
; Oct 14 03:40:55.15 GC: Done: 5.86108 MB in use, 11.970912 MB freed, 0.02 secs.
; Oct 14 14:11:59.72 GC: Start: 17.866448 MB in use.
; Oct 14 14:11:59.73 GC: Done: 5.87048 MB in use, 11.995968 MB freed, 0.01 secs.
; Oct 15 00:43:05.57 GC: Start: 17.875824 MB in use.
; Oct 15 00:43:05.59 GC: Done: 5.878736 MB in use, 11.997088 MB freed, 0.02 secs.
; Oct 15 01:24:38.94 cgi-sock[3117]: GET "/~rpw3/uf.lhp"
; Oct 15 07:39:11.12 cgi-sock[3118]: GET "/hacks/lisp/appsrv-demo.lhp"
; Oct 15 11:03:18.23 GC: Start: 17.887784 MB in use.
; Oct 15 11:03:18.25 GC: Done: 5.934576 MB in use, 11.953208 MB freed, 0.02 secs.
; Oct 15 21:34:45.63 GC: Start: 17.947248 MB in use.
; Oct 15 21:34:45.64 GC: Done: 5.922192 MB in use, 12.025056 MB freed, 0.01 secs.
That 5-6 MB base usage stays constant for months at a time, only
going up significantly if I do "live" patching of the code [and
even then, when I'm done a (GC :FULL T) usually drops it again].
So I'd say CMUCL is certainly a viable candidate for a long-running
web app server, if you're using BSD or Linux...
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607