Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2015-01-05 Thread Sylvain Goulmy
Thank you for your feeback, i guess i have to review the whole
configuration design in the migration process and move balancer definitions
in vhost section.

Regards.

On Tue, Dec 23, 2014 at 2:52 PM, Jim Jagielski  wrote:

> If migrating to 2.4, I would suggest using the method Yann describes
> and have each balancer defined in its own vhost section. This is
> because it is most likely that inheriting balancers will be
> deprecated/removed in later versions of httpd, simply because
> (1) it doesn't make sense and (2) causes the kinds of issues
> you see.
>
> I would recommend using mod_macro to help out with your migration;
> you could create a macro Vhost definition...
>
> > On Dec 19, 2014, at 10:49 AM, Sylvain Goulmy  wrote:
> >
> > Yann,
> >
> > I did some additionnal tests with the BalancerInherit directive. If I
> add the directive "BalancerInherit Off" in the main section I still have
> the issue (shm saturation) if the number of virtual hosts/balancers is too
> important. With a single virtual host then I can access correctly to the
> application whereas I shouldn't be able to ... In other words, the
> directive seems to have no effect. Anyway if it worked correctly i couldn't
> have accessed to my application anymore, so i guess it doesn't deserve to
> spend more time on this question.
> >
> > I also did some test with the balancer definition inside the virtual
> host : I confirm that this configuration is ok. Unfortunately for me, this
> choice introduces significant change on my apache 2.2 configuration and
> adds a lot of complexity in my migration process. I also lose some
> functionnality like an global overview of my balancer states via a single
> URL.
> >
> > So before considering this option, as far as you know, do you think
> there is definitely no other options available.
> >
> > Regards.
> > Sylvain
> >
> > On Fri, Dec 19, 2014 at 2:06 PM, Yann Ylavic 
> wrote:
> > Hi Sylvain,
> >
> > On Fri, Dec 19, 2014 at 11:04 AM, Sylvain Goulmy 
> wrote:
> > >
> > > My configuration is currently defining 338 virtual hosts and 169 proxy
> > > balancers.
> > >
> > > The balancers are defined in the main section. Each virtual host
> refers only
> > > one balancer.
> > >
> > > Here what i notice :
> > > - Apache creates one shm for each balancer
> > > - Each virtual hosts creates one shm for each balancer even if it
> doesn't
> > > refer it...
> >
> > in 2.4, each vhost's balancer needs it own SHM plus as much SHMs as
> > the balancer's members (the dynamic balancer-manager manages per
> > vhost).
> > By declaring all the balancers in the main config (and using
> > "BalancerInherit on" to make them *all* available in *all* the
> > vhosts), you multiply that number by the number of balancers and the
> > number of of vhosts...
> >
> > >
> > > Am i missing a directive that could avoid that behaviour or do i have
> to
> > > redesign my all configuration by moving each balancer definition at the
> > > virtual host level ?
> >
> > You can't set "BalancerInherit off" since the "main" balancers won't
> > be usable in the vhosts anymore.
> > Since moreover "each virtual host refers only one balancer" in your
> > configuration, you'd better declare each balancer in the corresponding
> > vhost, and see that no more shared-memory than needed will be created
> > (depending on the number of balancer members used by each vhost).
> >
> > Regards,
> > Yann.
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> > For additional commands, e-mail: users-h...@httpd.apache.org
> >
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>
>


Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-23 Thread Jim Jagielski
If migrating to 2.4, I would suggest using the method Yann describes
and have each balancer defined in its own vhost section. This is
because it is most likely that inheriting balancers will be
deprecated/removed in later versions of httpd, simply because
(1) it doesn't make sense and (2) causes the kinds of issues
you see.

I would recommend using mod_macro to help out with your migration;
you could create a macro Vhost definition...

> On Dec 19, 2014, at 10:49 AM, Sylvain Goulmy  wrote:
> 
> Yann,
> 
> I did some additionnal tests with the BalancerInherit directive. If I add the 
> directive "BalancerInherit Off" in the main section I still have the issue 
> (shm saturation) if the number of virtual hosts/balancers is too important. 
> With a single virtual host then I can access correctly to the application 
> whereas I shouldn't be able to ... In other words, the directive seems to 
> have no effect. Anyway if it worked correctly i couldn't have accessed to my 
> application anymore, so i guess it doesn't deserve to spend more time on this 
> question.
> 
> I also did some test with the balancer definition inside the virtual host : I 
> confirm that this configuration is ok. Unfortunately for me, this choice 
> introduces significant change on my apache 2.2 configuration and adds a lot 
> of complexity in my migration process. I also lose some functionnality like 
> an global overview of my balancer states via a single URL. 
> 
> So before considering this option, as far as you know, do you think there is 
> definitely no other options available.
> 
> Regards.
> Sylvain
> 
> On Fri, Dec 19, 2014 at 2:06 PM, Yann Ylavic  wrote:
> Hi Sylvain,
> 
> On Fri, Dec 19, 2014 at 11:04 AM, Sylvain Goulmy  wrote:
> >
> > My configuration is currently defining 338 virtual hosts and 169 proxy
> > balancers.
> >
> > The balancers are defined in the main section. Each virtual host refers only
> > one balancer.
> >
> > Here what i notice :
> > - Apache creates one shm for each balancer
> > - Each virtual hosts creates one shm for each balancer even if it doesn't
> > refer it...
> 
> in 2.4, each vhost's balancer needs it own SHM plus as much SHMs as
> the balancer's members (the dynamic balancer-manager manages per
> vhost).
> By declaring all the balancers in the main config (and using
> "BalancerInherit on" to make them *all* available in *all* the
> vhosts), you multiply that number by the number of balancers and the
> number of of vhosts...
> 
> >
> > Am i missing a directive that could avoid that behaviour or do i have to
> > redesign my all configuration by moving each balancer definition at the
> > virtual host level ?
> 
> You can't set "BalancerInherit off" since the "main" balancers won't
> be usable in the vhosts anymore.
> Since moreover "each virtual host refers only one balancer" in your
> configuration, you'd better declare each balancer in the corresponding
> vhost, and see that no more shared-memory than needed will be created
> (depending on the number of balancer members used by each vhost).
> 
> Regards,
> Yann.
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
> 


-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org



Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-23 Thread Jim Jagielski
So is the main issue the amount of shm used, right?

> On Dec 19, 2014, at 5:04 AM, Sylvain Goulmy  wrote:
> 
> Hi Yann,
> 
> Thank you for your feedback.
> 
> My configuration is currently defining 338 virtual hosts and 169 proxy 
> balancers.
> 
> The balancers are defined in the main section. Each virtual host refers only 
> one balancer.
> 
> Here what i notice :
> - Apache creates one shm for each balancer
> - Each virtual hosts creates one shm for each balancer even if it doesn't 
> refer it...
> 
> Am i missing a directive that could avoid that behaviour or do i have to 
> redesign my all configuration by moving each balancer definition at the 
> virtual host level ?
> 
> Thanks in advance.
> Regards.
> 
> Sylvain
> 
> 
> On Fri, Dec 19, 2014 at 12:06 AM, Yann Ylavic  wrote:
> If you can manage to recompile the APR library used by your Apache 2.4
> (you probably did that already since 2.4 does not seem to be the
> version packaged with RHEL 6.4), you can use "./configure
> --enable-posix-shm ..." to use another shared memory mechanism than
> the default one (IPC SysV) which is limited to 32K segments (system
> wide).
> The number of segments would then be limited by the usual number of
> file descriptors per process (ulimit -n).
> 
> Unfortunately, there no equivalent to the Mutex directive for shared
> memories, this can't be changed by httpd's configuration (as far as I
> know).
> 
> On Thu, Dec 18, 2014 at 2:30 PM, Sylvain Goulmy  wrote:
> >
> > I also noticed that a single proxy_balancer creates almost 350 shm on the
> > system.
> >
> > Is it normal that a single proxy_balancer creates so many shm ?
> 
> How many VirtualHost(s) do you use in your configuration?
> Also, how do you declare the balancer(s), in each VirtualHost or in
> the main section using BalancerInherit on?
> 
> >
> > Do i really have to increase the memory segment on my system in huge
> > proportion to handle all my proxy_balancers ?
> 
> The number of IPC SysV shared-memory segments is limited to 32768 on
> linux (system wide), and you are already above with 100 * 350, so you
> would need to use another SHM mechanism.
> Unfortunately, there no equivalent to the Mutex directive for shared
> memories, AFAIK this can't be changed by httpd's configuration.
> So you would have to recompile the APR library used by your Apache 2.4
> (you probably did that already since RHEL 6.4 does not seem to package
> 2.4 by default), and do for example "./configure --enable-posix-shm
> ..." to use another shared-memory mechanism.
> The number of segments would then be limited by the usual number of
> file descriptors per process (ulimit -n).
> 
> However 350 shm per balancer looks weird to me, your configuration may
> do something not optimal...
> 
> Regards,
> Yann.
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
> 


-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org



Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-19 Thread Sylvain Goulmy
Yann,

I did some additionnal tests with the BalancerInherit directive. If I add
the directive "BalancerInherit Off" in the main section I still have the
issue (shm saturation) if the number of virtual hosts/balancers is too
important. With a single virtual host then I can access correctly to the
application whereas I shouldn't be able to ... In other words, the
directive seems to have no effect. Anyway if it worked correctly i couldn't
have accessed to my application anymore, so i guess it doesn't deserve to
spend more time on this question.

I also did some test with the balancer definition inside the virtual host :
I confirm that this configuration is ok. Unfortunately for me, this choice
introduces significant change on my apache 2.2 configuration and adds a lot
of complexity in my migration process. I also lose some functionnality like
an global overview of my balancer states via a single URL.

So before considering this option, as far as you know, do you think there
is definitely no other options available.

Regards.
Sylvain

On Fri, Dec 19, 2014 at 2:06 PM, Yann Ylavic  wrote:
>
> Hi Sylvain,
>
> On Fri, Dec 19, 2014 at 11:04 AM, Sylvain Goulmy 
> wrote:
> >
> > My configuration is currently defining 338 virtual hosts and 169 proxy
> > balancers.
> >
> > The balancers are defined in the main section. Each virtual host refers
> only
> > one balancer.
> >
> > Here what i notice :
> > - Apache creates one shm for each balancer
> > - Each virtual hosts creates one shm for each balancer even if it doesn't
> > refer it...
>
> in 2.4, each vhost's balancer needs it own SHM plus as much SHMs as
> the balancer's members (the dynamic balancer-manager manages per
> vhost).
> By declaring all the balancers in the main config (and using
> "BalancerInherit on" to make them *all* available in *all* the
> vhosts), you multiply that number by the number of balancers and the
> number of of vhosts...
>
> >
> > Am i missing a directive that could avoid that behaviour or do i have to
> > redesign my all configuration by moving each balancer definition at the
> > virtual host level ?
>
> You can't set "BalancerInherit off" since the "main" balancers won't
> be usable in the vhosts anymore.
> Since moreover "each virtual host refers only one balancer" in your
> configuration, you'd better declare each balancer in the corresponding
> vhost, and see that no more shared-memory than needed will be created
> (depending on the number of balancer members used by each vhost).
>
> Regards,
> Yann.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>
>


Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-19 Thread Yann Ylavic
Hi Sylvain,

On Fri, Dec 19, 2014 at 11:04 AM, Sylvain Goulmy  wrote:
>
> My configuration is currently defining 338 virtual hosts and 169 proxy
> balancers.
>
> The balancers are defined in the main section. Each virtual host refers only
> one balancer.
>
> Here what i notice :
> - Apache creates one shm for each balancer
> - Each virtual hosts creates one shm for each balancer even if it doesn't
> refer it...

in 2.4, each vhost's balancer needs it own SHM plus as much SHMs as
the balancer's members (the dynamic balancer-manager manages per
vhost).
By declaring all the balancers in the main config (and using
"BalancerInherit on" to make them *all* available in *all* the
vhosts), you multiply that number by the number of balancers and the
number of of vhosts...

>
> Am i missing a directive that could avoid that behaviour or do i have to
> redesign my all configuration by moving each balancer definition at the
> virtual host level ?

You can't set "BalancerInherit off" since the "main" balancers won't
be usable in the vhosts anymore.
Since moreover "each virtual host refers only one balancer" in your
configuration, you'd better declare each balancer in the corresponding
vhost, and see that no more shared-memory than needed will be created
(depending on the number of balancer members used by each vhost).

Regards,
Yann.

-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org



Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-19 Thread Sylvain Goulmy
I also forgot to mention that i have set the BalancerInherit to Off before
loading the balancers definition. It unfortunatly doesn't change the
behaviour.

Sylvain

On Fri, Dec 19, 2014 at 11:04 AM, Sylvain Goulmy  wrote:
>
> Hi Yann,
>
> Thank you for your feedback.
>
> My configuration is currently defining 338 virtual hosts and 169 proxy
> balancers.
>
> The balancers are defined in the main section. Each virtual host refers
> only one balancer.
>
> Here what i notice :
> - Apache creates one shm for each balancer
> - Each virtual hosts creates one shm for each balancer even if it doesn't
> refer it...
>
> Am i missing a directive that could avoid that behaviour or do i have to
> redesign my all configuration by moving each balancer definition at the
> virtual host level ?
>
> Thanks in advance.
> Regards.
>
> Sylvain
>
>
> On Fri, Dec 19, 2014 at 12:06 AM, Yann Ylavic 
> wrote:
>
>> If you can manage to recompile the APR library used by your Apache 2.4
>> (you probably did that already since 2.4 does not seem to be the
>> version packaged with RHEL 6.4), you can use "./configure
>> --enable-posix-shm ..." to use another shared memory mechanism than
>> the default one (IPC SysV) which is limited to 32K segments (system
>> wide).
>> The number of segments would then be limited by the usual number of
>> file descriptors per process (ulimit -n).
>>
>> Unfortunately, there no equivalent to the Mutex directive for shared
>> memories, this can't be changed by httpd's configuration (as far as I
>> know).
>>
>> On Thu, Dec 18, 2014 at 2:30 PM, Sylvain Goulmy 
>> wrote:
>> >
>> > I also noticed that a single proxy_balancer creates almost 350 shm on
>> the
>> > system.
>> >
>> > Is it normal that a single proxy_balancer creates so many shm ?
>>
>> How many VirtualHost(s) do you use in your configuration?
>> Also, how do you declare the balancer(s), in each VirtualHost or in
>> the main section using BalancerInherit on?
>>
>> >
>> > Do i really have to increase the memory segment on my system in huge
>> > proportion to handle all my proxy_balancers ?
>>
>> The number of IPC SysV shared-memory segments is limited to 32768 on
>> linux (system wide), and you are already above with 100 * 350, so you
>> would need to use another SHM mechanism.
>> Unfortunately, there no equivalent to the Mutex directive for shared
>> memories, AFAIK this can't be changed by httpd's configuration.
>> So you would have to recompile the APR library used by your Apache 2.4
>> (you probably did that already since RHEL 6.4 does not seem to package
>> 2.4 by default), and do for example "./configure --enable-posix-shm
>> ..." to use another shared-memory mechanism.
>> The number of segments would then be limited by the usual number of
>> file descriptors per process (ulimit -n).
>>
>> However 350 shm per balancer looks weird to me, your configuration may
>> do something not optimal...
>>
>> Regards,
>> Yann.
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>> For additional commands, e-mail: users-h...@httpd.apache.org
>>
>>


Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-19 Thread Sylvain Goulmy
Hi Yann,

Thank you for your feedback.

My configuration is currently defining 338 virtual hosts and 169 proxy
balancers.

The balancers are defined in the main section. Each virtual host refers
only one balancer.

Here what i notice :
- Apache creates one shm for each balancer
- Each virtual hosts creates one shm for each balancer even if it doesn't
refer it...

Am i missing a directive that could avoid that behaviour or do i have to
redesign my all configuration by moving each balancer definition at the
virtual host level ?

Thanks in advance.
Regards.

Sylvain


On Fri, Dec 19, 2014 at 12:06 AM, Yann Ylavic  wrote:
>
> If you can manage to recompile the APR library used by your Apache 2.4
> (you probably did that already since 2.4 does not seem to be the
> version packaged with RHEL 6.4), you can use "./configure
> --enable-posix-shm ..." to use another shared memory mechanism than
> the default one (IPC SysV) which is limited to 32K segments (system
> wide).
> The number of segments would then be limited by the usual number of
> file descriptors per process (ulimit -n).
>
> Unfortunately, there no equivalent to the Mutex directive for shared
> memories, this can't be changed by httpd's configuration (as far as I
> know).
>
> On Thu, Dec 18, 2014 at 2:30 PM, Sylvain Goulmy 
> wrote:
> >
> > I also noticed that a single proxy_balancer creates almost 350 shm on the
> > system.
> >
> > Is it normal that a single proxy_balancer creates so many shm ?
>
> How many VirtualHost(s) do you use in your configuration?
> Also, how do you declare the balancer(s), in each VirtualHost or in
> the main section using BalancerInherit on?
>
> >
> > Do i really have to increase the memory segment on my system in huge
> > proportion to handle all my proxy_balancers ?
>
> The number of IPC SysV shared-memory segments is limited to 32768 on
> linux (system wide), and you are already above with 100 * 350, so you
> would need to use another SHM mechanism.
> Unfortunately, there no equivalent to the Mutex directive for shared
> memories, AFAIK this can't be changed by httpd's configuration.
> So you would have to recompile the APR library used by your Apache 2.4
> (you probably did that already since RHEL 6.4 does not seem to package
> 2.4 by default), and do for example "./configure --enable-posix-shm
> ..." to use another shared-memory mechanism.
> The number of segments would then be limited by the usual number of
> file descriptors per process (ulimit -n).
>
> However 350 shm per balancer looks weird to me, your configuration may
> do something not optimal...
>
> Regards,
> Yann.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>
>


Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-18 Thread Yann Ylavic
On Fri, Dec 19, 2014 at 12:06 AM, Yann Ylavic  wrote:
> If you can manage to recompile the APR library used by your Apache 2.4
> (you probably did that already since 2.4 does not seem to be the
> version packaged with RHEL 6.4), you can use "./configure
> --enable-posix-shm ..." to use another shared memory mechanism than
> the default one (IPC SysV) which is limited to 32K segments (system
> wide).
> The number of segments would then be limited by the usual number of
> file descriptors per process (ulimit -n).
>
> Unfortunately, there no equivalent to the Mutex directive for shared
> memories, this can't be changed by httpd's configuration (as far as I
> know).

Oups, this leading part was not meant to be sent, and is rephrased
anyway below according to message, more accurately.
Please ignore it...


>
> On Thu, Dec 18, 2014 at 2:30 PM, Sylvain Goulmy  wrote:
>>
>> I also noticed that a single proxy_balancer creates almost 350 shm on the
>> system.
>>
>> Is it normal that a single proxy_balancer creates so many shm ?
>
> How many VirtualHost(s) do you use in your configuration?
> Also, how do you declare the balancer(s), in each VirtualHost or in
> the main section using BalancerInherit on?
>
>>
>> Do i really have to increase the memory segment on my system in huge
>> proportion to handle all my proxy_balancers ?
>
> The number of IPC SysV shared-memory segments is limited to 32768 on
> linux (system wide), and you are already above with 100 * 350, so you
> would need to use another SHM mechanism.
> Unfortunately, there no equivalent to the Mutex directive for shared
> memories, AFAIK this can't be changed by httpd's configuration.
> So you would have to recompile the APR library used by your Apache 2.4
> (you probably did that already since RHEL 6.4 does not seem to package
> 2.4 by default), and do for example "./configure --enable-posix-shm
> ..." to use another shared-memory mechanism.
> The number of segments would then be limited by the usual number of
> file descriptors per process (ulimit -n).
>
> However 350 shm per balancer looks weird to me, your configuration may
> do something not optimal...
>
> Regards,
> Yann.

-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org



Re: [users@httpd] Apache 2.4 create a huge amount of shared memory segments

2014-12-18 Thread Yann Ylavic
If you can manage to recompile the APR library used by your Apache 2.4
(you probably did that already since 2.4 does not seem to be the
version packaged with RHEL 6.4), you can use "./configure
--enable-posix-shm ..." to use another shared memory mechanism than
the default one (IPC SysV) which is limited to 32K segments (system
wide).
The number of segments would then be limited by the usual number of
file descriptors per process (ulimit -n).

Unfortunately, there no equivalent to the Mutex directive for shared
memories, this can't be changed by httpd's configuration (as far as I
know).

On Thu, Dec 18, 2014 at 2:30 PM, Sylvain Goulmy  wrote:
>
> I also noticed that a single proxy_balancer creates almost 350 shm on the
> system.
>
> Is it normal that a single proxy_balancer creates so many shm ?

How many VirtualHost(s) do you use in your configuration?
Also, how do you declare the balancer(s), in each VirtualHost or in
the main section using BalancerInherit on?

>
> Do i really have to increase the memory segment on my system in huge
> proportion to handle all my proxy_balancers ?

The number of IPC SysV shared-memory segments is limited to 32768 on
linux (system wide), and you are already above with 100 * 350, so you
would need to use another SHM mechanism.
Unfortunately, there no equivalent to the Mutex directive for shared
memories, AFAIK this can't be changed by httpd's configuration.
So you would have to recompile the APR library used by your Apache 2.4
(you probably did that already since RHEL 6.4 does not seem to package
2.4 by default), and do for example "./configure --enable-posix-shm
..." to use another shared-memory mechanism.
The number of segments would then be limited by the usual number of
file descriptors per process (ulimit -n).

However 350 shm per balancer looks weird to me, your configuration may
do something not optimal...

Regards,
Yann.

-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org