[Seaside] Call for help: Seaside performances

Avi Bryant avi at dabbledb.com
Thu Jan 11 20:57:58 UTC 2007


On 1/11/07, Ramon Leon <ramon.leon at allresnet.com> wrote:

> Avi, any chance you can elaborate with some detail on what it takes to
> dynamically bring up and take down images as necessary to handle the load?

Well, in the case of Dabble there's an obvious partitioning - each
subdomain (foo.dabbledb.com) gets its own image.  When someone makes a
request to that subdomain, we start a new image up for it if we don't
already have one running.  If an image is idle for a few minutes, we
save it (including all the session info) and take it down.  FWIW, our
most heavily loaded server has about 7000 images, of which usually
about 15 are running at a time.  The average total footprint of one of
our images is about 100MB, which means that we use under 1.5GB for
this.  The highest I've seen is 22 out of the 7000 running at once.
We have 4GB of RAM in the server and have never come close to
thrashing.

> Also, when using so many images, how does one manage keeping them all up to
> date with the latest code?  Do you just have the images upgrade to the
> latest version of a package on startup?

No, when we update we just upgrade a single image using MC and then
clone it.  This means that pushing new code out requires blowing away
everyone's current sessions.

> How do you have Apache dynamically proxy to a dynamic
> port and make squeak start up on that port?

What, can't we keep any secrets? :)  I'll write that part up later.

Cheers,
Avi


More information about the Seaside mailing list