You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Aaron Macks <am...@techtarget.com> on 2007/04/27 04:44:06 UTC

[users@httpd] Overloaded rewrite handler?

First a bit of background, the server is a SunFire 440, 4 proc, 8gig of 
ram, running httpd 1.3.34 due to the needs of out closed-source CMS

We have been trying something that requites a huge number of redirects, 
and it seems that the rewrite engine is running out of memory.

Here is the memory usage line out of 'top' while the rewrite config was 
in use:


Memory: 8192M real, 4675M free, 5972M swap in use, 431M swap free

and here are some snippets of the error log

[Thu Apr 26 21:45:29 2007] [error] (12)Not enough space: fork: Unable to 
fork new process
[Thu Apr 26 21:45:40 2007] [info] server seems busy, (you may need to 
increase StartServers, or Min/MaxSpareServers), spawning 16 children, 
there are 0 idle, and 7 total children


Is there a way to increase the memory available to the rewrite engine, 
or is it using as much as there is already?
thanks
Aaron
-- 
____________________________________________
Aaron Macks		amacks@techtarget.com
TechTarget			PGP keyid: FBE946C5
117 Kendrick St, Suite 800	Phone: (781) 657-1519
Needham, MA 02494		Fax:      (781) 657-1100

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Overloaded rewrite handler?

Posted by Aaron Macks <am...@techtarget.com>.
Forgot to add, system is running Solaris 8 on 4x UltraSparcIII processors
-a

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Overloaded rewrite handler?

Posted by Joshua Slive <jo...@slive.ca>.
On 4/27/07, Aaron Macks <am...@techtarget.com> wrote:
> I was blaming mod_rewrite because the server was running fine, serving
> up pages with approx 180 children, until I added in a slew of new
> redirects(approx 6k).  I want to believe that there are no loops in the
> rules, as they are all pretty simple and distinct

Did you read my other questions and comments?

Anyway, 6000 RewriteRules is not a good idea. Such a huge config will
increase apache memory requirements and also will significantly affect
response time since each of those redirects is checked for every
request. Instead, you should use a dbm-based RewriteMap to track the
redirects.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Overloaded rewrite handler?

Posted by Aaron Macks <am...@techtarget.com>.
I was blaming mod_rewrite because the server was running fine, serving 
up pages with approx 180 children, until I added in a slew of new 
redirects(approx 6k).  I want to believe that there are no loops in the 
rules, as they are all pretty simple and distinct
Aaron

Joshua Slive wrote:
> On 4/26/07, Aaron Macks <am...@techtarget.com> wrote:
>> First a bit of background, the server is a SunFire 440, 4 proc, 8gig of
>> ram, running httpd 1.3.34 due to the needs of out closed-source CMS
>>
>> We have been trying something that requites a huge number of redirects,
>> and it seems that the rewrite engine is running out of memory.
>>
>> Here is the memory usage line out of 'top' while the rewrite config was
>> in use:
>>
>>
>> Memory: 8192M real, 4675M free, 5972M swap in use, 431M swap free
>>
>> and here are some snippets of the error log
>>
>> [Thu Apr 26 21:45:29 2007] [error] (12)Not enough space: fork: Unable to
>> fork new process
>> [Thu Apr 26 21:45:40 2007] [info] server seems busy, (you may need to
>> increase StartServers, or Min/MaxSpareServers), spawning 16 children,
>> there are 0 idle, and 7 total children
>>
>>
>> Is there a way to increase the memory available to the rewrite engine,
>> or is it using as much as there is already?
> 
> I'm not sure why you came to the conclusion that mod_rewrite is at
> fault. I find that unlikely. You system is running out of resources to
> fork new children with only 7 children active. That is tiny. What else
> is going on on this box? How big is each apache child process?
> 
> I'm not a sun expert, but one things that looks problematic is your
> lack of swap space. It is typical to configure at least as much swap
> space as you have physical RAM.
> 
> If mod_rewrite is at fault, then the first thing to do is to run the
> RewriteLog to check and see if it is looping someplace.
> 
> Joshua.
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 

-- 
____________________________________________
Aaron Macks		amacks@techtarget.com
TechTarget			PGP keyid: FBE946C5
117 Kendrick St, Suite 800	Phone: (781) 657-1519
Needham, MA 02494		Fax:      (781) 657-1100

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Overloaded rewrite handler?

Posted by Joshua Slive <jo...@slive.ca>.
On 4/26/07, Aaron Macks <am...@techtarget.com> wrote:
> First a bit of background, the server is a SunFire 440, 4 proc, 8gig of
> ram, running httpd 1.3.34 due to the needs of out closed-source CMS
>
> We have been trying something that requites a huge number of redirects,
> and it seems that the rewrite engine is running out of memory.
>
> Here is the memory usage line out of 'top' while the rewrite config was
> in use:
>
>
> Memory: 8192M real, 4675M free, 5972M swap in use, 431M swap free
>
> and here are some snippets of the error log
>
> [Thu Apr 26 21:45:29 2007] [error] (12)Not enough space: fork: Unable to
> fork new process
> [Thu Apr 26 21:45:40 2007] [info] server seems busy, (you may need to
> increase StartServers, or Min/MaxSpareServers), spawning 16 children,
> there are 0 idle, and 7 total children
>
>
> Is there a way to increase the memory available to the rewrite engine,
> or is it using as much as there is already?

I'm not sure why you came to the conclusion that mod_rewrite is at
fault. I find that unlikely. You system is running out of resources to
fork new children with only 7 children active. That is tiny. What else
is going on on this box? How big is each apache child process?

I'm not a sun expert, but one things that looks problematic is your
lack of swap space. It is typical to configure at least as much swap
space as you have physical RAM.

If mod_rewrite is at fault, then the first thing to do is to run the
RewriteLog to check and see if it is looping someplace.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org