Last Comment Bug 398241 - mod_perl isn't using our precompiled CGIs
: mod_perl isn't using our precompiled CGIs
Status: RESOLVED FIXED
: perf
Product: Bugzilla
Classification: Server Software
Component: Bugzilla-General (show other bugs)
: 3.0.2
: All All
: -- major (vote)
: Bugzilla 3.0
Assigned To: Max Kanat-Alexander
: default-qa
Mentors:
Depends on:
Blocks: 401007
  Show dependency treegraph
 
Reported: 2007-10-01 23:53 PDT by Max Kanat-Alexander
Modified: 2008-06-30 23:37 PDT (History)
5 users (show)
mkanat: approval+
mkanat: blocking3.1.3+
mkanat: approval3.0+
mkanat: blocking3.0.3+
See Also:
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
v1 (720 bytes, patch)
2007-10-01 23:56 PDT, Max Kanat-Alexander
justdave: review+
Details | Diff | Splinter Review

Description Max Kanat-Alexander 2007-10-01 23:53:02 PDT
I was messing around with our mod_perl installation on landfill, and the perl-status page on landfill that shows information about the system.

I found something curious:

It listed some pages as having been compiled for "ModPerl::Registry" and some pages as having been compiled for "Bugzilla::ModPerl::ResponseHandler".

It turns out that since we have a custom handler, mod_perl isn't using our precompiled pages at all. They're just taking up memory and not improving performance. When I fixed the landfill mod_perl install to actually use the precompiled pages, there was a huge performance increase. This should also help a lot with the fact that our processes grow huge slowly over time. (We're compiling every page twice.)
Comment 1 Max Kanat-Alexander 2007-10-01 23:55:44 PDT
Note this also means that every single Apache process was compiling its own scripts, instead of just compiling them once and sharing them between all the children.
Comment 2 Max Kanat-Alexander 2007-10-01 23:56:36 PDT
Created attachment 283144 [details] [diff] [review]
v1

This fixes it, as tested and now running on landfill.
Comment 3 Frédéric Buclin 2007-10-02 04:12:29 PDT
Comment on attachment 283144 [details] [diff] [review]
v1

I know nothing about mod_perl. I will let justdave review it.
Comment 4 Yann 2007-10-04 00:49:36 PDT
Does that mean you will be able to remove the use of Size::Limit module that prevents the use of mod_perl on windows ?
Comment 5 Max Kanat-Alexander 2007-10-04 15:03:52 PDT
(In reply to comment #4)
> Does that mean you will be able to remove the use of Size::Limit module that
> prevents the use of mod_perl on windows ?

  No. You could remove that now, if you want, as long as you feel OK that Apache may consume all of your memory at any particular moment.
Comment 6 Dave Miller [:justdave] (justdave@bugzilla.org) 2007-11-29 01:18:39 PST
Comment on attachment 283144 [details] [diff] [review]
v1

Serious speed improvement on a freshly-restarted apache.  It also appears to drop memory consumption by about 10M per-process, presumably because we no longer have two copies of everything loaded after it's been running for a bit.  Two thumbs up! :)
Comment 7 Dave Miller [:justdave] (justdave@bugzilla.org) 2007-11-29 01:40:35 PST
previous test was on 3.0 branch, just tested on the tip and works great there, too. :)
Comment 8 Max Kanat-Alexander 2007-11-29 04:05:16 PST
This was our biggest 3.0.3 blocker. I think we should release 3.0.3 as soon as possible, now. Unfortunately, with LpSolit gone for December, that might be hard. Perhaps somebody else could run QA on 3.0?

tip:

Checking in mod_perl.pl;
/cvsroot/mozilla/webtools/bugzilla/mod_perl.pl,v  <--  mod_perl.pl
new revision: 1.7; previous revision: 1.6
done

3.0 branch:

Checking in mod_perl.pl;
/cvsroot/mozilla/webtools/bugzilla/mod_perl.pl,v  <--  mod_perl.pl
new revision: 1.5.2.1; previous revision: 1.5
done
Comment 9 Max Kanat-Alexander 2008-06-30 23:37:50 PDT
Relnoted in 3.0.3 when it was released.

Note You need to log in before you can comment on or make changes to this bug.