Ресурсоемкий cyrcle.php (cron)
Модератор: immortal
-
- Сообщения: 57
- Зарегистрирован: Сб май 12, 2012 1:42 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Ресурсоемкий cyrcle.php (cron)
Жил не тужил без 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 где-то не оптимален...
У меня стоит выделенный 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 где-то не оптимален...
-
- Сообщения: 75
- Зарегистрирован: Чт ноя 29, 2012 4:13 pm
- Благодарил (а): 0
- Поблагодарили: 9 раз
Re: Ресурсоемкий cyrcle.php (cron)
Я тоже самое чуть не отмочил в первый день использования MajorDoMo.
Оказалось, что cycle.php заточён под самостоятельное существование и сам уже все необходимое запускает. И его только один раз после ребута компьютера надо запускать.
Бедная Ешка
Оказалось, что cycle.php заточён под самостоятельное существование и сам уже все необходимое запускает. И его только один раз после ребута компьютера надо запускать.
Бедная Ешка
Андрей
-
- Сообщения: 57
- Зарегистрирован: Сб май 12, 2012 1:42 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Ресурсоемкий cyrcle.php (cron)
Как раз?..raptorialfungus писал(а):Я тоже самое чуть не отмочил в первый день использования MajorDoMo.
Оказалось, что cycle.php заточён под самостоятельное существование и сам уже все необходимое запускает. И его только один раз после ребута компьютера надо запускать.
Бедная Ешка
В Readme же сказано что засунуть в cron.
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Ресурсоемкий cyrcle.php (cron)
В котором?
6. There is also ./cycle.php script that should be running in the background for scheduling tasks.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 57
- Зарегистрирован: Сб май 12, 2012 1:42 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Ресурсоемкий cyrcle.php (cron)
Пардон...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)
Да, получалось так
Этот скрипт сам из себя запускает несколько паралельных циклов, так что могу себе представить нагрузку от нескольких копий этого дела
Этот скрипт сам из себя запускает несколько паралельных циклов, так что могу себе представить нагрузку от нескольких копий этого дела
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 75
- Зарегистрирован: Чт ноя 29, 2012 4:13 pm
- Благодарил (а): 0
- Поблагодарили: 9 раз
Re: Ресурсоемкий cyrcle.php (cron)
А я вот обнаружил у себя несколько десятков apache'ей запущенных, когда совсем уж заметно стал тормозить phpmyadminsergejey писал(а):Да, получалось так
Этот скрипт сам из себя запускает несколько паралельных циклов, так что могу себе представить нагрузку от нескольких копий этого дела
Послежу за этим. В последние дни я серьезно экспериментировал и сервер не перезапускал.
Параметр MaxSpareServers по дефолту равен 10.
Андрей
-
- Сообщения: 22
- Зарегистрирован: Ср июл 31, 2013 5:19 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Ресурсоемкий cyrcle.php (cron)
У кого то получилось cycle.php в cron запихнуть что бы после reboot сам стартовал?
Под FreeBSD
Под FreeBSD
-
- Сообщения: 9
- Зарегистрирован: Чт авг 15, 2013 10:29 am
- Откуда: Москва
- Благодарил (а): 0
- Поблагодарили: 0
Re: Ресурсоемкий cyrcle.php (cron)
Во фряхе для запуска стартап скриптов лучше использовать механизм rc.d.bagotu писал(а):У кого то получилось cycle.php в cron запихнуть что бы после reboot сам стартовал?
Под FreeBSD
А 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
Илья
-
- Сообщения: 22
- Зарегистрирован: Ср июл 31, 2013 5:19 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Ресурсоемкий cyrcle.php (cron)
ХЗ... заблудился в rc.subr
по началу получилось все кроме одной фишки. умирал процесс через 10 мин после запуска
перепробовал много чего. в итоге уже и не помню удачного скрипта
в общем, "пылает станица"...
по началу получилось все кроме одной фишки. умирал процесс через 10 мин после запуска
перепробовал много чего. в итоге уже и не помню удачного скрипта
в общем, "пылает станица"...