Use Apache::SizeLimit in mod_perl.pl to limit outrageous Apache memory usage

RESOLVED FIXED in Bugzilla 3.0

Status

()

defect
RESOLVED FIXED
13 years ago
13 years ago

People

(Reporter: justdave, Assigned: mkanat)

Tracking

2.23.3
Bugzilla 3.0
Bug Flags:
approval +

Details

Attachments

(1 attachment)

We got some RAM help on bmo by hacking in Apache::SizeLimit hooks to nuke processes that exceed a certain size.  Since this is likely to be a common problem on larger installations, we should offer the code to do it and an explanation in the comments at the top of mod_perl.pl, so that if anyone else needs it, they can uncomment it and it's there.
Actually, I honestly think we should just always use Apache::SizeLimit and just require it. It comes with mod_perl, and we can set some very sane default settings (MAX_UNSHARED_SIZE = 70M). Anybody's mod_perl installation will suffer over time from memory bloat. Even b.e.c, which isn't very heavily-trafficked, suffers.
Summary: Offer Apache::SizeLimit hacks for mod_perl in comments in mod_perl.pl → Use Apache::SizeLimit in mod_perl.pl to limit outrageous Apache memory usage
Target Milestone: --- → Bugzilla 3.0
Posted patch v1Splinter Review
Okay, here's the patch that's currently running on the landfill mod_perl install. I think 70MB is pretty reasonable, considering that most child processes start at 35MB.
Assignee: installation → mkanat
Status: NEW → ASSIGNED
Attachment #254694 - Flags: review?(justdave)
Comment on attachment 254694 [details] [diff] [review]
v1

I'd been meaning to investigate the request count thing...  by default Apache2::SizeLimit only works checks the process size every other request.  It's bit us enough times even with it in place on bmo that we might want to force it to check after every request...
(In reply to comment #3)
> (From update of attachment 254694 [details] [diff] [review])
> It's bit us enough times even with it in place on bmo that we might want to
> force it to check after every request...

  It does by default. Or at least, it's supposed to. At least, I was under that impression...
The documentation seems to imply that 1 is the default, and you should only set it if you want something higher:

http://search.cpan.org/~pgollucci/mod_perl-2.0.3/docs/api/Apache2/SizeLimit.pod#Synopsis
If you want this fix for 3.0 RC1, please hurry up.
Attachment #254694 - Flags: review?(justdave) → review+
Flags: approval?
Checking in mod_perl.pl;
/cvsroot/mozilla/webtools/bugzilla/mod_perl.pl,v  <--  mod_perl.pl
new revision: 1.5; previous revision: 1.4
done
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Flags: approval? → approval+
Resolution: --- → FIXED
Duplicate of this bug: 347845
You need to log in before you can comment on or make changes to this bug.