Home Website Changes Log in Log out

Performance and Scalability

Since each process is only running one thing at a time, there are performance and scalability concerns. The first thing to realize is that it will probably work without any special considerations. The only trick is long-running computations outside of your control - DBI queries being the main example.

For DBI the current idea is to spawn a process for the query so that the application doesn't block. Supplementing this can be a pool of applications that are load-balanced transparently by a frontend (apache or PerlBal).

The trick here is having some form of session affinity between the front-end and the pool of applications. An easy way to do this is per-IP address. Another is to use mod_rewrite to make explicity which backend a request should go to.

The ideal setup I have is this:

See Also