Re: Apache 2.4 create a huge amount of shared memory segments

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <ylavic.dev@xxxxxxxxx> 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 <sygoulmy@xxxxxxxxx> 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-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux