Fred,

Yes, mod_perl and mod_proxy are on the same httpd.

Perrin,

For clarification, I'm using <Perl> sections to create the config from info
stored in various databases but mod_rewrite and mod_proxy are doing the real
work. There are no Perl Handlers.

I think I will try writing out the config and see if that changes the load
at all and then start going into your suggestions, Fred, and try going
through another front end proxy. Don't want to introduce too many variables
at the same time.

Thanks for the suggestions, guys.
-Josh J

On Thu, May 27, 2010 at 4:02 PM, Perrin Harkins <per...@elem.com> wrote:

> I second what Fred said.  Also, you might consider just generating a
> config file for apache with perl and not running mod_perl in the
> server.  I try to avoid using mod_perl for things that mod_rewrite and
> mod_proxy can handle.
>
> - Perrin
>
> On Thu, May 27, 2010 at 3:39 PM, Fred Moyer <f...@redhotpenguin.com>
> wrote:
> > It sounds like you are using mod_perl and mod_proxy on the same main
> > httpd, is that right?
> >
> > If so, consider running another front end proxy such as apache with
> > the event_mpm, perlbal, ha_proxy, or nginx.  Without having more
> > details (Devel::NYT::Prof may provide some), my guess is that you are
> > blocking on child httpds in mod_proxy.
> >
> > On Thu, May 27, 2010 at 12:36 PM, Joshua Johnson
> > <joshpauljohn...@gmail.com> wrote:
> >> Hello all,
> >>
> >> I have a question on using mod_perl to configure apache for many virtual
> >> hosts. My problem is the high load on the apache server. I decided to go
> >> with mod_perl to configure apache and here are the reasons (if I should
> be
> >> doing this a different way, please say so. I'm open to suggestions).:
> >>
> >> The company I work at has ~13,000 customer domains. There is a database
> >> where these domains are configured. Some of them are "standard" packages
> and
> >> simply have a document root where customers upload pages. Some of the
> >> domains make proxy requests to another site. And still others make a
> proxied
> >> rewrite from "/" to "some random url that is stored in the db". Some
> >> redirect to another url. There are about 20 other such configurations.
> >>
> >> I used mod_perl to load all of this up at startup and it worked
> beautifully.
> >> I originally thought that I would be able to dynamically setup
> VirtuaHost
> >> sections as requests came in for domains (maybe they were freshly added
> to
> >> the db or the record updated). But I found you can't really do that so I
> >> have to restart for changes to take effect. Either way, I'm very happy
> with
> >> how easy and clean mod_perl has made all of this.
> >>
> >> But the load on apache runs anywhere from 0.50 to 3.00 on a dual cpu
> server.
> >> Response doesn't seem slow (except for right after an apache restart)
> but
> >> I'm worried that I'm doing something fundamentally wrong. There is a
> >> significant amount of proxying going on so I set "ProxyReceiveBufferSize
> >> 16384" but that doesn't seem to have changed too much. Could mod_perl be
> the
> >> cause of the load or would it be the end apache config? Are there any
> >> initial thoughts anyone has? Has anyone run into something similar?
> Should I
> >> be going about this a different way?
> >>
> >> Related: and would it be possible to add config on-the-fly?
> $r->add_config()
> >> Won't let you add VirtualHosts because it operates as though in a
> <Location>
> >> directive.
> >>
> >> I guess I'm just looking for thoughts in general. I've been tinkering
> with
> >> this for about 2 weeks now.
> >>
> >> Thanks,
> >> Josh J
> >>
> >>
> >
>

Reply via email to