Ресурсоемкий cyrcle.php (cron)

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Sicness
Сообщения: 57
Зарегистрирован: Сб май 12, 2012 1:42 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Ресурсоемкий cyrcle.php (cron)

Сообщение Sicness » Ср дек 12, 2012 5:44 pm

Жил не тужил без cron... но связался с событиями...

У меня стоит выделенный Eee 901 под умный дом. 1,6 МГц, 1 ГБ ОЗУ, SSD, стоит xubuntu. Все отлично летало.
Добавил в крон такую строку:
# m h dom mon dow command
* * * * * cd /www/alice/ && /usr/bin/php ./cycle.php

И все... теперь четверть времени сервер не доступен. Страницы время от времени не загружаются из-за не отвечающего mysqld. Сценарии прерываются и делают паузы между строками в сек 10. Баш обрабатывает тоже несколько секунд.
Взгляд на top говорит следующее:
Раз в минуту запускается много много (!) процессов php, пока они работают дружно, система на другие процессы почти не выделяет ресурсов. Тогда толпа php отпускает, в дело вступает этот процесс:
27 root 20 0 0 0 0 S 28 0.0 0:50.14 kswapd0
Потом еще долго приходит в себя на загрузке 25% (сервер в то время я не трогаю) mysqld.

Мне кажется cyrle.php где-то не оптимален...
raptorialfungus
Сообщения: 75
Зарегистрирован: Чт ноя 29, 2012 4:13 pm
Благодарил (а): 0
Поблагодарили: 9 раз

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение raptorialfungus » Ср дек 12, 2012 7:00 pm

Я тоже самое чуть не отмочил в первый день использования MajorDoMo.
Оказалось, что cycle.php заточён под самостоятельное существование и сам уже все необходимое запускает. И его только один раз после ребута компьютера надо запускать.
Бедная Ешка :)
Андрей
Sicness
Сообщения: 57
Зарегистрирован: Сб май 12, 2012 1:42 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение Sicness » Ср дек 12, 2012 7:31 pm

raptorialfungus писал(а):Я тоже самое чуть не отмочил в первый день использования MajorDoMo.
Оказалось, что cycle.php заточён под самостоятельное существование и сам уже все необходимое запускает. И его только один раз после ребута компьютера надо запускать.
Бедная Ешка :)
Как раз?..
В Readme же сказано что засунуть в cron.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение sergejey » Чт дек 13, 2012 11:29 am

В котором? :)
6. There is also ./cycle.php script that should be running in the background for scheduling tasks.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Sicness
Сообщения: 57
Зарегистрирован: Сб май 12, 2012 1:42 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение Sicness » Чт дек 13, 2012 11:31 am

sergejey писал(а):В котором? :)
6. There is also ./cycle.php script that should be running in the background for scheduling tasks.
Пардон... :)
Получается я запускал каждую минуту дополнительный экземпляр? :)
Убрал из крон, запустил одну штуку, работает... )
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение sergejey » Чт дек 13, 2012 11:37 am

Да, получалось так :)
Этот скрипт сам из себя запускает несколько паралельных циклов, так что могу себе представить нагрузку от нескольких копий этого дела :)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
raptorialfungus
Сообщения: 75
Зарегистрирован: Чт ноя 29, 2012 4:13 pm
Благодарил (а): 0
Поблагодарили: 9 раз

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение raptorialfungus » Чт дек 13, 2012 1:06 pm

sergejey писал(а):Да, получалось так :)
Этот скрипт сам из себя запускает несколько паралельных циклов, так что могу себе представить нагрузку от нескольких копий этого дела :)
А я вот обнаружил у себя несколько десятков apache'ей запущенных, когда совсем уж заметно стал тормозить phpmyadmin :(
Послежу за этим. В последние дни я серьезно экспериментировал и сервер не перезапускал.
Параметр MaxSpareServers по дефолту равен 10.
Андрей
bagotu
Сообщения: 22
Зарегистрирован: Ср июл 31, 2013 5:19 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение bagotu » Вс авг 18, 2013 12:21 am

У кого то получилось cycle.php в cron запихнуть что бы после reboot сам стартовал?
Под FreeBSD
bbq
Сообщения: 9
Зарегистрирован: Чт авг 15, 2013 10:29 am
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 0

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение bbq » Пн авг 19, 2013 9:25 am

bagotu писал(а):У кого то получилось cycle.php в cron запихнуть что бы после reboot сам стартовал?
Под FreeBSD
Во фряхе для запуска стартап скриптов лучше использовать механизм rc.d.
А CRON это шедулер который выполняет задание регулярно по расписанию, в крон нельзя запихать условие запуска скрипта после каждого стартапа системы.
Для выполнения скриптов при старте оболочки пользователя под которым крутится приложение cycle.php (в локальном контексте) пихаем запуск скрипта в ~/.bashrc или ~/.bash_profile.

В глобальном контексте (лучший вариант, скрипт стартует всегда при запуске ОС FreeBSD) подключаем запуск сценария через механизм rc.d предварительно сконфигурировав скрипт, поместив его в /etc/rc.d/ и включив его запуск в /etc/rc.conf
Описание тут:
http://joekuan.wordpress.com/2010/05/09 ... up-script/

после чего делаем /etc/netstart - команда перечитает конфиг /etc/rc.conf

Илья
bagotu
Сообщения: 22
Зарегистрирован: Ср июл 31, 2013 5:19 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Ресурсоемкий cyrcle.php (cron)

Сообщение bagotu » Пн авг 19, 2013 7:56 pm

ХЗ... заблудился в rc.subr
по началу получилось все кроме одной фишки. умирал процесс через 10 мин после запуска
перепробовал много чего. в итоге уже и не помню удачного скрипта :(
в общем, "пылает станица"...
Ответить