Здравствуйте, друзья!
Мониторинг и слежение за сервером конечно же прерогатива специального ПО, однако и php дает небольшие возможности для этого. Для удобства быстрого "а что там у нас с нагрузкой" сделан этот компонент, который:
— мониторит заданное значение load average сервера;
— при превышении нагрузки закрывает сайт и показывает текст ошибки, отдавая при этом корректный header «503 Service Unavailable»;
— при превышении нагрузки уведомляет по email (можно указать несколько);
— при превышении нагрузки может только фиксировать сам факт превышения не предпринимая каких-либо действий;
— показывает на главной странице админки текущую нагрузку;
— в блоке статистики в админке показывает зафиксированные перегрузки.
Функционал построен на использовании функции sys_getloadavg, поэтому на Windows платформах работать не будет.
Обращаю внимание, что для корректных подсчетов необходимо указать в админке количество ядер процессора на сервере (или количество процессоров в случае многопроцессорных систем). Компонент при установке попытается определить кол-во самостоятельно, но из-за возможных ограничений вашего хостинга авто определение может быть не выполнено.
Порог наблюдения нагрузки можно указывать больше 100%, но это уже будет означать оверлоад, при постоянстве которого стоит задуматься об оптимизации сервера.
Технические требования:
InstantCMS: не ниже 2.4.0;
Операционная система: UNIX-like (Linux, FreeBSD и т.п.);
Включенная функция php: sys_getloadavg
Установка стандартная.
Подписывайтесь на нашу страницу в Вконтакте
Реклама #
globator 8 лет назад #
Def 8 лет назад #
solntsev 8 лет назад #
Def 8 лет назад #
Fuze 8 лет назад #
solntsev 8 лет назад #
Fuze 8 лет назад #
http://docs.instantcms.ru/manual/addons
Def 8 лет назад #
Def 8 лет назад #
Fuze 8 лет назад #
AmDmKo 8 лет назад #
А если VPS-ка? нагрузка моего ядра или "также" всего сервера?)
Fuze 8 лет назад #
WowChih 8 лет назад #
полет нормальный Intel(R) Xeon(R) CPU E5-1650
vikont 8 лет назад #
Fuze 8 лет назад #
vikont 8 лет назад #
Def 8 лет назад #
Fuze 8 лет назад #
vikont 8 лет назад #
1. Скрипт сайта - на сегодняшний день он почти идеальный
2. Проблемы с базой данных - а вот ошибки в базе данных могут расти неожиданно и в геометрической прогрессии.. Достаточно сделать Восстановление и Оптимизацию базы, нагрузка резко упадет.
3. Висуны - сессии которые зависают в силу различных стечений обстоятельств. Достаточно их сбросить и нагрузка падает.
4. Зависание процессов (Демонов) в самой операционной системе - Здесь только перезагрузка! Но это когда у тебя свой VDS, а на виртуальном хостинге доступ к ОС закрыт.
Думаю достаточно реализовать пункты 2 - 3 и это решит массу проблем без остановки сайта, тем более, что простая остановка не решит проблем с базой. Даже Висуны могут не отбиться.
Fuze 8 лет назад #
п. 3, 4 если у вас на сервере что-то зависает, то вариант только один - менять сисадмина, т.к. на здоровой системе ничего хаотично зависать не должно. Кроме этого, то, что вы называете "висунами" в большинстве случаев вообще нагрузку не дают, все зависит от того, что ушло в это состояние и по каким причинам. Например, если ушел процесс ffmpeg во время конвертации, то да, будет висеть со 100% нагрузкой. А все процессы, связанные с работой сайта с вероятностью 99,9% никогда не зависнут, если у вас конечно не Windows.
К первому пункту претензий нет
На highload системах с высокопосещаемыми сайтами даже минутный "отдых" даст системе "продышаться". Очередь процессов очистится и LA, как следствие, упадет.
vikont 8 лет назад #
Восстановление базы решает вопрос накопления ошибок, а Оптимизация - дефрагментация. Все верно. Эти 2 действия надо делать каждую неделю, но кто за этим следит, да еще на виртуальном хостинге
Собственно почему я вообще писал... остановка сервера решит вопрос с нагрузкой, но это не популярный для пользователя метод! Поэтому есть смысл останавливать сайт если другие методы не дали результат. Другие методы я описал выше. Они дадут время для решения основной причины.
PIN 8 лет назад #
Aleks Shultz 8 лет назад #
Fuze 8 лет назад #
Евгений 7 лет назад #
dwd 8 лет назад #
однако правильно показывает загрузку сервера скрипт только если указать вручную, что яро одно :
При количестве ядер, равном 4, индикатор загрузки не переваливает и за 30% в то время как сервер уже не справляется с запросами, что соответственно сопровождается тормозами при загрузке сайта. Также мои догадки о неверности показателей в скрипте подтверждаются показателями из панели управления VBulletin, расположенного на том же сервере:
dwd 8 лет назад #
Fuze 8 лет назад #
dwd 8 лет назад #
Пораскинул мозгами и пришел к выводу, что, наверное вы правы. Просто VBulletin старичок и не умеет считать ядра. Выходит, что, по меркам VBulletin, для 4-х ядер 100%-но значение load average = 4, стало быть в процентах это в 4 раза меньше, чем показывает VBulletin в панели. Спасибо за ответ, пойду искать причину такого поведения. Уже второй день ломаю голову над тем, почему сайт так тяжело грузится, все остальные сайты на сервере летают:
Время загрузки страницы 280-310 мск и не меняется ни при каких условиях. Отключал все виджеты, вырезал из шаблона все JS и CSS, искал, что тормозит загрузку страницы. Бесполезно, время загрузки страницы не меняется вообще.
Это мой первый сайт, работающий на второй ветке Инстанта,
Fuze 8 лет назад #
dwd 8 лет назад #
mySQL работает как часики, тормозов нет(MyISAM). Процессорного времени и свободной памяти много, почему так медленно грузились страницы я, если честно так и не понял.
Вам наверное виднее, но по моей логике 20 виджетов на главной странице это лишних два десятка запросов к базе плюс рендер содержимого этих виджетов. По идее на быстродействие должно влиять. Но как показала практика не влияет. Огромное спасибо за подсказку с xcache - после установки скорость загрузки страниц выросла почти вдвое, до 150-180 мск(версия PHP - 5.3.28). Теперь это уже вписывается в рамки разумного, доброго, вечного.))