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