Задать вопрос
@coderofbig

Запуск более 20 копий PHP по CRON. Как предотвратить падение апача?

Сейчас в системе DEBIAN больше 20 пользователей, у каждого из них каждые 3 минуты запускается один и тот же скрипт, что полностью лишает желания жить апачу, и он благополучно падет, на что NGINX грустно сообщает о 500 ошибке.

Конечно, разум подсказывает о вероятности более элегантного решения, которое обязательно будет реализовано, но сейчас срочно нужно организовать бесперебойную работу текущей схемы.

Ошибки в логах апача:
[Tue Apr 21 15:50:00 2009] [emerg] (28)No space left on device: Couldn't create accept lock (/var/lock/apache2/accept.lock.19320) (5)

Вышел на семафоры:

#ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 393216 www-data 600 1
0x00000000 425985 www-data 600 1
0x00000000 458754 www-data 600 1
0x00000000 491523 www-data 600 1
0x00000000 524292 www-data 600 1
0x00000000 557061 www-data 600 1
0x00000000 589830 www-data 600 1
0x00000000 622599 www-data 600 1
0x00000000 655368 www-data 600 1
0x00000000 688137 www-data 600 1
0x00000000 720906 www-data 600 1
0x00000000 753675 www-data 600 1
0x00000000 786444 www-data 600 1
0x00000000 819213 www-data 600 1
0x00000000 851982 www-data 600 1
0x00000000 884751 www-data 600 1
0x00000000 917520 www-data 600 1
0x00000000 950289 www-data 600 1

Удаление и перезагрузка помогает, но на время.

Буду рад, за любую помощь, пока мою задницу не порвали на куски.
Спасибо.
  • Вопрос задан
  • 235 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
iam_not_a_robot
@iam_not_a_robot
При таких раскладах никак, надо сократить количество работающих скриптов, можно время ограничить но они будут завершаться.
Решение: Все скрипты всех юзеров сгоняете в один скрипт и запускаете его без лимитов, например из консоли. Наслаждаетесь загрузкой CPU в 98% Если так не можете то пусть они свои задачи скидывают в единую базу а админ эту базу обработает своим скриптом, у вас ведь парсеры? ;)
Ответ написан
HiNeX
@HiNeX
Web Developer
Зачем апач? Дергайте по CLI. Еще вопрос, что же делает такого скрипт, чего нельзя отдать Node.js например?
Ответ написан
@coderofbig Автор вопроса
Каждый скрипт также коннектится к базе, может там что ломает апач? Может увеличить переменную какую в конфигах...

Запускаю скрипты: /usr/bin/php /path/script.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы