[racket] students running web servers: racket-attach?

From: Brian Mastenbrook (brian at mastenbrook.net)
Date: Fri Mar 9 11:16:26 EST 2012

On 03/04/2012 12:20 AM, John Clements wrote:
> I have a bunch of students planning to run racket web-servers on a single machine. I just ran a few tests (on my mac, not on the target machine), and it looks like separate web-server instances chew up about 72M apiece, but that running 10 web-servers simultaneously on one process is only about 72M total. I have about 25 teams, so if they're all running a racket web server, that's going to wreck my poor 1G VPS.
> It seems like the right solution here is to run them all on one runtime.  Moreover, with sandboxes, it seems that this should be eminently possible.  I'd like to preserve their control over their own processes, though, so I thought I might provide a wrapper binary that passes a racket file over to a single central runtime to run in a sandbox, and that routes stdin/stout/stderr -- or something like it --- back to the user process.
> Has someone already done something like this?

This would be a really cool feature of general utility. OS level 
containers and virtualization systems are very popular these days; I 
think the same idea applies at the language level too.

Did you use multiple places in your test, or did you run everything 
within the same place? It would be interesting to see how one racket 
runtime with one place per user compared to multiple runtimes, both in 
memory and in performance.

Brian Mastenbrook
brian at mastenbrook.net

Posted on the users mailing list.