есть связка nginx + phpfmp(Байт код кешер apc). С некоторого момента
php стал регулярно сидеть в lockf состоянии (по top). Как возможное
решение мне предложили сменить тип блокировки используемый apc с
файловой на семафорную. И вроде бы чего сложного скомпилил apc с --
enable-apc-sem и всего делов, но не работает это с php-fpm. Когда
происходит попытка захватить семафор вылетает с ошибкой народе этой:
Fatal error: Unknown: apc_sem_lock: semop(655361) failed: 22 in
Unknown on line 0
Мы перепробовали кучу sysctl параметров, но ничего не помагает. Затем
решили посмотреть а существуют ли какие семафоры в системе
ipcs -s и опа пусто:
Semaphores:
T ID KEY MODE OWNER GROUP
Т.е при работающем php никаких семафоров нет, следовательно потому и
падает при попытке блокирования. Соответственно начали отлаживать уже
сам apc и обнаружили что PHP_MINIT_FUNCTION (функция инициализации
модуля) вызывается только один раз и то только в процессе который
видимо участвует в демонизации (потому как в конечном счете в списке
процессов его нет)
freebsd# ps -aux | grep 'php'
root 4023 0.0 1.4 46004 7076 ?? Ss 5:06AM 0:00.01 /usr/
local/bin/php-cgi --fpm --fpm-config /usr/local/etc/p
www 4024 0.0 1.4 46004 7096 ?? S 5:06AM 0:00.00 /usr/
local/bin/php-cgi --fpm --fpm-config /usr/local/etc/p
www 4025 0.0 1.4 46004 7096 ?? S 5:06AM 0:00.00 /usr/
local/bin/php-cgi --fpm --fpm-config /usr/local/etc/p
у процесс который вызвал PHP_MINIT_FUNCTION имеет идентификатор 4022.
Соответственно в этом же процессе вызывается PHP_MSHUTDOWN_FUNCTION(и
все семафроры прибиваються)
У меня собсвенно вопрос а разве php-fpm правильно поступает делая так?
Это очень смахивает на баг, ведь и в других расширениях все работает
сходным образом
PS: php - 5.2.14, fpm - fpm-0.5.14 (собран как so)
PS: может быть кто то сталкиваося с подобными проблемами?
PHP 5.3.3 + FreeBSD 8.1-STABLE i386
С кто-нибудь пробовал php-5.3.3 + APC под сильной нагрузкой?
Наблюдаю аналогичное поведение php-5.3.3 + xcache 1.3.0 на тестовой
зоне =( Сильно мешает переходу на новую версию.
С кто-нибудь пробовал php-5.3.3 + APC под сильной нагрузкой?
On 23 сен, 17:53, Eugene Klimov <bloodjaz...@gmail.com> wrote:
> > Ну чтож сам себе и отвечу, вдруг кому и пригодиться
>
> молодцы что сами разбрались, прошу прощения что морочил голову ruslan с mod_php
> в качестве эксперимента интересно было бы посмотреть на аналогичное
> поведение php-fpm для 5.3.3 и выше, т.е. в состоянии когда он уже стал
> официально частью PHP
я юзаю
Мемкеш
/usr/ports/databases/memcached
и расширения к ПХП
/usr/ports/databases/pecl-memcache
/usr/ports/databases/pecl-memcached
отличная производительность
On 11 окт, 15:34, Ihalainen Nickolay <ihan...@gmail.com> wrote:
> с точностью до погрешностей они сейчас близки,
> лимитирует работа с большими массивами, вычислительная нагрузка или в худшем
> случае работа с базами или внешними урлами.
>
> Падения, также наблюдаются со всеми кешерами опкода (проблемы не только в
> них самих, но и других экстеншинах php, которые корраптят память), в apc
> есть возможность собрать с функционалом перевода shared memory в readonly
> 2010/10/11 No1 <smile.neversm...@gmail.com>
>
>
>
> > А сравнительные тесты с Еакселератором,апц,хкэш имеются?Что в какую сторону
> > лучше.
>
> > 2010/10/11 Ilya V. Yesin <yesin...@gmail.com>
On 31 окт, 18:25, ruslan usifov <ruslan.usi...@gmail.com> wrote:
> Вы немного не понимаете назначение APC, прежде всего он предназначен для
> того чтобы не происходило прикаждом запросе перекомпиляции скрипта в байт
> код
>
> 31 октября 2010 г. 16:57 пользователь PandoraBox2007 <
> pandorabox2...@gmail.com> написал:
Posted at Nginx Forum: http://forum.nginx.org/read.php?25,132925,147707#msg-147707