Let me tell you that I am going to deploy 3-tire architecture and
inbuilt application load balancer for my production environment. And In
future I may have h/w load balancer as well. So Its clear thal I am looking at
very fast and stable environment to deliver my content. So Please help me to identify the best better
--- On Sat, 30/1/10, Adam Mackler wrote:
From: Adam Mackler <email@example.com>
Subject: Re: [Catalyst] Using Catalyst with mod_per or FastCGI on heavy traffic web application
To: firstname.lastname@example.org, "The elegant MVC web framework" <email@example.com>
Date: Saturday, 30 January, 2010, 6:02 AM
Well, I'm sure no expert, but that doesn't stop me from having opinions.
The reasons I stopped using mod_perl are: safer when perl encounters
errors, easier for learning, easier for development, better error
messages when restarting production applications, and the ability to
have each application run as a different system user.
Perhaps the most compelling reason that I stopped using mod_perl is
because with both perl and the web server combined in one executable,
a problem with perl can cause not only the whole website to go down,
but also all the other websites handled by that same webserver to go
down as well.
Second, setting up staging servers so you can develop without touching
your production site is easier using fastcgi.� Even having one staging
server with mod_perl is difficult.� Will you run two whole apaches
simultaneously?� What if you want to have more than one staging
server?� Adding more staging servers gets ridiculous fast.
(BTW, I know the Catalyst Book says that you're supposed to use the
myapp_server.pl for development, but I want to have SSL turned on all
With fastcgi, I literally had dozens of different applications running
at once, and they can all crash and burn and the webserver keeps
running.� In fact, that's how I learned to use Catalyst.� For every
tutorial I found, I made its own fastcgi process, and then I set up
the web server to know about each one.� http://myhost.com/alpha
the authorization tutorial, /beta was the CRUD totorial, etc.� I could
look at and play with any or all of them running at once; it made
learning from examples much easier.
In addition to making it easier to learn and to development, in the
production environment fastcgi has significant advantages as relates
to error messages, restarting, and security: I can have two levels of
error messages: one is the replacement for the "Internal Server Error"
that results from a problem with perl running--the same error you
arleady have, for example if your database server crashes, generated
by the perl application.� But with fastcgi I have another, separate
error page that is a nice-looking static page served by the web server
when the fasccgi server is not there.� So during the time when I am
restarting my fastcgi application, visitors see that nice static page
rather than getting a browser error message, which is what happens
when you restart a server with mod_perl.� And as your application(s)
grow in size (and number), restarting them takes longer and longer, so
that feature becomes more important.
Finally, a wonderful benefit of using fastcgi is that each one of my
fastcgi applications runs as a separate user, and none of those
fastcgi users is the user that the web server runs as.� I sleep that
much better at night knowing that the web server cannot read the files
that have database passwords in them, and so on.
Anyway, that's my conclusion after doing things both ways.� My current
setup is similar to yours:� FreeBSD, lighttpd, Catalyst, and
PS, I'm curious why you're using mysql.� Is there a way in which its
better than Postgres?
Your Mail works best with the New Yahoo Optimized IE8. Get it NOW! http://downloads.yahoo.com/in/internetexplorer/