Скрипт балансировки нагрузки на сервер
У меня есть сервер (Ubuntu), который обслуживает несколько доменов и запускает серию скриптов cron. Однако нагрузка на сервер не может быть предсказана, поэтому я не могу установить правильное количество нагрузки в скриптах cron.
Однако скрипты, которые запускаются в cron, время от времени перегружаются и создают огромную нагрузку как на процессор, так и на память, что приводит к остановке нескольких служб сервера (например, почтового сервера).
Вопрос: как я могу написать скрипт, который запускает подпрограммы, которые теперь находятся в cron, только когда нагрузка на сервер ниже минимального порога? Есть ли приложение, которое делает это под Linux?
Спасибо за ваше время!
1 ответ
Вы можете проверить управление системой мониторинга. Вы можете добавить это в свой файл конфигурации:
# Мониторинг веб-сервисов apache2. # Он проверит процесс apache2 с заданным файлом pid. # Если имя процесса или путь к pidfile неверно, то monit будет # дать ошибку не удалось. жесткий Apache2 работает. проверить процесс apache2 с помощью pidfile /var/run/apache2.pid start program = "/etc/init.d/apache2 start" остановить программу = "/etc/init.d/apache2 stop" # Администратор уведомит по почте, если ниже условие выполнено. если процессор больше 60% в течение 2 циклов, тогда оповещение если процессор> 80% в течение 5 циклов, перезапустите если totalmem > 200,0 МБ для 5 циклов, перезапустите если дети> 250, то перезагрузите если loadavg(5 минут) больше 10 в течение 8 циклов, остановите если 3 перезапускается в течение 5 циклов, то время ожидания групповой сервер
Это хороший инструмент, и вы можете искать, как выполнить свой собственный скрипт, когда условие выполнено.