[Catalyst] Apache + mod_perl + Digest-SHA fails

Stuart Watt swatt at infobal.com
Wed Dec 16 21:00:37 GMT 2009


Threading is possibly even worse on Windows. Any forking on Windows is =

really Perl threading as Windows doesn't have fork() as its process model.

Are you using Randy Kobes' mod_perl for ActivePerl? I have not done that =

configuration for a while, but I did get it working once. Your other =

option is to compile your own Apache+mod_perl --  a bit of a challenge =

but certainly possible, and quite likely to resolve the problem.

The problems arise because mod_perl has to plug the whole of Perl into =

Apache. This requires Apache and Perl to be compiled in ways that are =

partly compatible. mod_perl has some flexibility in this, but I always =

found it pretty troublesome, and in any event, the Perl threads on =

Windows will be within Apache processes. FastCGI allows you to move Perl =

processes outside Apache, so they are wholly independent of each other, =

and no longer require any binary compatibility.

The downside is that you don't memory sharing, which you get with =

prefork, especially on platforms that have a proper process fork(). =

Unfortunately, Windows doesn't have that true fork(), so the memory =

sharing is only working because you are working in a single (Windows) =

process. Our Perl processes on Windows are not that big (they commonly =

start at VM sizes of 50-60Mb, and only get larger when we start the =

high-powered search systems we use). A decent server can easily =

accommodate 40 or so of these.

Personally, on Windows, I'd stick with FastCGI. We've been using it for =

a year or more and it has survived some fairly large scale stress testing.

--S
--
Stuart Watt
ARM Product Developer
Information Balance


Ascii King wrote:
> Stuart Watt wrote:
>> "Free to wrong pool" is usually an issue with XS and threading. =

>> Digest::SHA is an XS module. Which Perl are you using? And how is it =

>> integrated into Apache?
>>
>> I've generally found FastCGI to be safer on Windows, simply because =

>> it doesn't require the tight integration of Perl into Apache under =

>> Windows.
>>
>> --S
>> -- =

>> Stuart Watt
>> ARM Product Developer
>> Information Balance
> I have Perl v5.8.9  I suspected it was something to do with threads =

> only because I couldn't figure out how threading or the pre-fork stuff =

> was supposed to be set up on Windows. I thought I read though, that =

> the threading issue didn't matter on Windows.
>
>
> I did have FastCGI working. I switched because the Catalyst Cookbook =

> recommended mod_perl. I'll try that again.
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: =

> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
> -- =

> This message was scanned by ESVA and is believed to be clean.
> Click here to report this message as spam. =

> http://antispam.infobal.com/cgi-bin/learn-msg.cgi?id=3D0E7092806D.D7113
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20091216/51175=
2ce/attachment.htm


More information about the Catalyst mailing list