> 
> 
> The good thing about Apache is it's dynamic rescaling - which isn't as easy 
> with starman - if you have a large code base the spin up time for starman can 
> be quite large as it appears (to make it efficient) load in every bit of code 
> that the application needs - even if it is one of those small edge cases.
> 
> So yes use starman for simple apps if you need to, but for complex stuff I 
> find mod_perl setup more reliable.

Even Apache has a maximum number of instances. If you’re prepared to let your 
Apache+mod_perl use up to say 300 concurrent Perl instances, you just set up 
your starman instance to pre-fork 300 concurrent instances. Your hardware will 
always impose concurrency limits. You should always be able to achieve the same 
performance with mod_perl and Starman as Perl is fundamentally single-threaded. 
Separating the front-end proxy (Apache or Nginx) from the back-end application 
(Perl app running under starman) is a simplification and a separation of 
concerns, not a performance gain or penalty.

If you use unix domain sockets for the proxying you can even get zero-downtime 
application restarts.

mod_perl is great for weird, special cases, like supporting some legacy, 3rd 
party code, but I don’t believe it’s the best option for the common case.

- Mark


Reply via email to