Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
Why are you recommending NOT to run mod_perl?

Well, there are some reasons not to use mod_perl. The main reason is that there is only one Perl interpreter instance (actually, there is one per worker process, cloned around forking the worker process). It runs inside the Apache process. Forking and cloning may cause some minor trouble, but that's rarely a problem. Mostly, this affects DBI, and Apache::DBI knows enough of DBIs internals to handle most of the problem. On Windows, Apache does not fork (as far as I know), but creates threads instead. So, everything runs in a single process.

The real problems are:

  • all applications have to share the one interpreter (per process)
  • all applications run in the process context of the Apache process
  • a single application error kills the entire Apache process
  • a single application error happening before Apache forks its worker processes kills the entire webserver

So, applications are de facto not isolated from each another, and you can not use operating system permissions to limit access to only one application or to the web server.

Compare with FastCGI:

  • The FastCGI process uses a single Perl interpreter for each application.
  • Each application runs inside its own process context, so you can isolate the applications using different users, filesystem permissions, chroot jails, and so on.
  • FastCGI communication uses sockets, either local ("Unix") sockets or TCP sockets. So you can run applications on different machines, perhaps behind firewalls that further isolate the web server.
  • FastCGI is available not only for Apache, but also for Nginx, IIS, Roxen, Lighttpd, and several other servers. So you don't have to re-invent the wheel just because you switch to a different webserver.

Of course, because FastCGI runs outside the Apache server, you have some communication overhead. And you can't use all of the Apache internals that mod_perl offers but rarely anyone uses.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

In reply to Re^3: Misery: trying to get mod_perl working on Windows 2008 by afoken
in thread Misery: trying to get mod_perl working on Windows 2008 by stuckey

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others rifling through the Monastery: (10)
    As of 2014-12-19 14:05 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      Is guessing a good strategy for surviving in the IT business?





      Results (83 votes), past polls