[Catalyst] Troubleshooting Help Please

Paul Cory pcory at wcpss.net
Mon Oct 6 22:02:14 BST 2008


All,

Thanks for the help! I'm going to summarize the problem to recap, the  
solutions proposed, and what I found trying to implement them.

First the problem:

>>> I have a Catalyst Web App that requires users to log in before  
>>> they can do
>>> anything (it's a front end for managing mailing list subscriptions).
>>>
>>> The problem is that as the day progresses, and the application  
>>> sees more and
>>> more use, login behavior becomes inconsistent.
>>

>>>  As time passes,
>>> the problem gets progressively worse and it eventually gets to the  
>>> point
>>> where people quit trying because the success rate for logging in  
>>> drops to
>>> 10% or less.
>>>
>>> By fail, I mean you go to the log in screen, put in a valid  
>>> username and
>>> password combination, and then get seamlessly redirected to the  
>>> log in
>>> screen, as if you had just arrived fresh to the app.
>>>
>>> Restarting Apache solves the problem, at least for a while. And  
>>> then things
>>> begin to degrade again...

First, I got this question:

>> I do just have to ask though... why such ancient
>> software?  Apache 1 and MP1?  Ouch.

Because I haven't had the opportunity to set up a test machine with  
Apache 2/mod_perl2 and test all the stuff on our Website that might  
break. I'm a one man show, and definitely in a place where if it ain't  
broke, I don't have time to fix it. :-)

Now, the suggestions were that either I was over running the cache  
file used by Session::Store::FastMmap, or running our of file  
descriptors. In the former case, it was suggested that increase the  
cache size to 100MB, or switch to Session::Store::DBIC.

I monitored file descriptor usage for a while, and it barely changed,  
so that didn't seem to be the cause,

Then I read the documentation and tried raising the cache size for  
Session::Store::FastMmap to 100 MB. Turns out, SLES 10 doesn't like  
that - Apache child processes were aborting all over the place. I  
experimented with the cache size and found that 40MB worked, and 50MB  
and above didn't.

So, after putting that in place, I moved on to swapping out  
Session::Store::FastMmap for Session::Store::DBIC. That actually  
didn't take long at all, and, so far, appears to be working perfectly.

Thanks again for all the help.




Paul Cory
WCPSS Webmaster
pcory at wcpss.net






More information about the Catalyst mailing list