On Sun, Oct 5, 2014 at 9:22 PM, Jakov Sosic <jso...@gmail.com> wrote:
> Hi guys.
>
> I'm running CentOS 6 with latest httpd (2.2.15-31.el6).
>
>
> I've noticed a very peculiar problem with Apache. I have a very high number
> of virtual hosts set up - it's around 501.
>
> Problems started occuring after vhost number 493. First 493 vhosts work as
> expected, but as soon as I add vhost number 494, PHP stops communicating
> with memcache, and it times out on every read/write access.
>
> Actually, I'm using memcache as a backend sessions store, so, php function:
>
> session_start();
>
> simply times out after 30 sec.
>
> If I delete the random one of the 494 vhosts and restart apache, it starts
> working again.
>
> I've set ulimit really high (65k) but it doesn't help. I've tried switching
> off ulimits completely, but no luck.
>
> Do you guys have any ideas what more could I try?
>
> I've tried stracing the httpd process to which I'm connected to, after I hit
> the enter in browser and after 30 sec wait commences.
>
> This is the strace output:
>
> select(1170, [1024 1169], [], NULL, {1, 0}) = 2 (in [1024 1169], left {0,
> 999998})
> select(1170, [1024 1169], [], NULL, {1, 0}) = 2 (in [1024 1169], left {0,
> 999998})
> select(1170, [1024 1169], [], NULL, {1, 0}) = 2 (in [1024 1169], left {0,
> 999998})
> select(1170, [1024 1169], [], NULL, {1, 0}) = 2 (in [1024 1169], left {0,
> 999998})
> select(1170, [1024 1169], [], NULL, {1, 0}) = 2 (in [1024 1169], left {0,
> 999998})
>
> So basically apache is stuck on select(), and that's it, it repeats the
> select() system call indefinitely.
>
>
> More info (including GDB output) on:
>
> http://serverfault.com/questions/633216/apache-stops-communicating-with-memcache-after-creating-too-many-vhosts
>
>
> The most difficult part is that I cannot reproduce this specific error on
> another hardware, so it's some kind of apache-linux-hw combo...
>
>
>
> Do you have any ideas what can I do to debug the issue further?
>

Why do you think it has anything to do with httpd? This is firmly a
"When I do things with PHP, PHP doesn't work .... therefore httpd has
a problem" type diagnosis.

The first thing I would suggest is asking on a PHP list why using a
memcached session backend stops working with large numbers of clients.

The second thing I would suggest is not running mod_php (I am
assuming; you don't mention, but you are stracing httpd to see PHP's
select()s...) but run php-fpm, which separates out PHP from httpd. It
also performs a lot better.

Cheers

Tom

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

Reply via email to