atom feed20 messages in ru.sysoev.nginxRe: Best practices for running Perl?
FromSent OnAttachments
Mark AikenApr 30, 2009 11:46 am 
Chris CorteseApr 30, 2009 11:51 am 
Chris CorteseApr 30, 2009 11:53 am 
Mark AikenApr 30, 2009 12:05 pm 
Gabriel RamugliaApr 30, 2009 12:08 pm 
Mark AikenApr 30, 2009 12:37 pm 
Michael ShadleApr 30, 2009 1:04 pm 
Maxim DouninApr 30, 2009 1:08 pm 
Jim OhlsteinApr 30, 2009 1:14 pm 
Mark AikenApr 30, 2009 1:20 pm 
Gabriel RamugliaApr 30, 2009 1:22 pm 
Jonathan VanascoApr 30, 2009 1:48 pm 
Chris CorteseApr 30, 2009 2:00 pm 
luben karavelovMay 1, 2009 5:25 pm 
luben karavelovMay 1, 2009 5:43 pm 
Michael ShadleMay 1, 2009 6:16 pm 
luben karavelovMay 1, 2009 7:10 pm 
Michael ShadleMay 1, 2009 8:51 pm 
luben karavelovMay 2, 2009 7:40 am 
luben karavelovMay 2, 2009 7:48 am 
Subject:Re: Best practices for running Perl?
From:Jonathan Vanasco (ngi@2xlp.com)
Date:Apr 30, 2009 1:48:44 pm
List:ru.sysoev.nginx

If you are truly committed to running Perl...

your best option would be this:

Port 80 : Nginx serves static and proxies to Perl system Port 80xx : Perl system ; either apache+fcgi or apache+mod_perl ... you might be able to run things under perlbal via plugins, but i dunno.

The ideal situation would be running fcgi under nginx, but I found it a PITA to set up / maintain.

I caved in and ran some perl apps through apache+mod_fcgi , and its pretty nice. Nginx handles most of the requests itself, so 2 apache children are handling a decent amount of traffic.

I have a few production projects running nginx on 80 and proxying back to mod_perl enabled apache. They work great, but they're apps designed to utilize a bunch of MP + Apache2 features... nginx was brought in a few years ago to increase improvement... and it was miraculous: nginx does awesome queuing/handoff of the mp traffic, so all apache does is process mod_perl fast and instantly. no lazy client issues, no wasting resources on bloated servers.

in practice.. i haven't found /that/ much difference between a fine- tuned Apache+ModPerl , PHP ( via apache+mod_php or fcgi ) , Python ( django / pylons ) setup. Sure you can have a system where php+fcgi is taking up 50MB of ram while Apache+ModPerl is taking up 150... but to tweak the performance to equal one another you'd use a PHP cache that takes up 135MB of ram... making everything pretty darn negligble.