[Catalyst] Starman and Catalyst

Seth Daniel catalyst at sethdaniel.org
Fri Apr 6 02:02:12 GMT 2012

On Fri, Apr 06, 2012 at 09:43:57AM +0800, Bill Moseley wrote:
> I really like the simplicity of Starman for running Catalyst apps.  For
> production we currently use Apache/mod_perl which seems pretty heave weight
> for just decoding requests on a socket and passing to Catalyst.   We run a
> couple million requests or so through each web server a day on a pool of
> 8-core web servers.
> Anyone here using Starman in production?   Can you describe any special
> config needed, what you are using for serving static content, and anything
> else to be aware of?
> We do use server-status with Apache which comes in handy at times to see
> what the processes are doing at times of stress.   Although, I wonder if
> that's not a task that could be done as a Catalyst role that works the same
> regardless of what web server is being used.

For server-status like functionality check out

However, if you place Apache in front of starman you don't necessarily
need it.  This is, in fact, what I am doing.  I have Apache (with
mod_status) in front of a starman catalyst app.  I'm also using the
apache worker mpm.  I primarily do this because apache is much better
about dealing with ldap than catalyst (or such is my experience so far).
It can also be useful for other reasons.

I don't know of any particularly special options to starman.  Typically 
when testing I will use plackup and in production I have a service
script which launches sufficient starman processes to handle the
expected load.

For serving static files Plack comes with Plack::Middleware::Static.
You might consider using it or setting up a special instance of a
lighter webserver to deliver static content.  I've never tried it but
I imagine something like twiggy with Plack::Middleware::Static might do
a good job.

seth /\ sethdaniel.org

More information about the Catalyst mailing list