[plt-scheme] Some rough PLT web app figures

From: Michael Forster (mike at sharedlogic.ca)
Date: Wed Nov 19 20:41:04 EST 2008


Given some of the recent blog posts on use of the PLT web server,
I thought I would share some of our deployment figures.  Sorry that
it's little more than a quick laundry list; time and customer permitting,
perhaps I'll write a more thorough summary later.

We've written 5 PLT-based web apps for one of our clients.  One
provides core personnel scheduling, work order, billing, and payroll
operations; the other four provide remote data entry for various
business processes built around the core (e.g. employee time-keeping).

Together, the apps weigh in at 24286 LOC of Scheme code, of which
6340 LOC is shared as libraries.  The business rules and data are
modeled exclusively and stored using PostgreSQL.  The 'view' layer
is written in Scheme as is a custom date/time library required for
multiple time-zone business logic.

We run each app under a separate mzscheme instance, all behind
an Apache reverse proxy to provide SSL.  The core app hovers
around 300M memory usage, of which about 250M is resident.  The
others consume between 60 and 160M each.

Here's the hardware and software:

Dell PE 2970
2GHz Quad Core AMD Opteron

FreeBSD 7.0-RELEASE amd64
PostgreSQL 8.2

custom servlet-shim.ss:
LRU memory manager
1G memory threshold
5 second check
24 life points
30 minute period for life point deduction

Hope of that's of use to someone.



Posted on the users mailing list.