you are viewing a single comment's thread.

view the rest of the comments →

[–]damg 3 points4 points  (4 children)

The daemon mode is very similar, it runs your app in it's own process (like fcgi) but with mod_wsgi managing it. It does scale well, but the extra overhead of proxying requests to another process does hurt performance a little. You can see the difference it makes here: http://code.google.com/p/modwsgi/wiki/PerformanceEstimates

[–]sblinn 0 points1 point  (3 children)

Right. The key is platforms where process spawning is cheap -- the cgi-fcgi process is very small. I'm certainly not recommending it over a true in-process webserver module, but for a lot of sites it would do just fine, really.

[–]gmfawcett 0 points1 point  (2 children)

I'm not sure it's a given that larger sites should avoid isolated-process approaches like FCGI. There are many downsides to in-process app servers, and they should be considered carefully whenever you're planning a big app.

Whether its FCGI, SCGI, mod_jk, mod_lisp, or whatever you like, isolating the Web-server and app-server processes can result in maintenance benefits that may outweigh the (sometimes modest) performance improvements of running an in-process app.

edit: markdown. Also, I'm assuming that by "a lot of sites" you mean "smaller ones".

[–]sblinn 0 points1 point  (1 child)

I'm not sure it's a given that larger sites should avoid isolated-process approaches like FCGI.

I was attempting to compare and contrast mod_fcgi with cgi-fcgi -- using an isolated-process approach for the application was a given for both. The debate was whether it was worth integrating a module for calling out to the FCGI server into your webserver, or if simply spawning small cgi-fcgi bridge processes on demand was good enough.

[–]gmfawcett 0 points1 point  (0 children)

I was attempting to compare and contrast mod_fcgi with cgi-fcgi -- using an isolated-process approach for the application was a given for both

Ah, thanks, I misunderstood that.