Ограничение процессорной нагрузки (более жесткое)

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 05:44, 26 сентября 2011 (править)
Rekby (Обсуждение | вклад)

← К предыдущему изменению
Версия 11:59, 3 октября 2012 (править) (отменить)
Renton (Обсуждение | вклад)
(Настройка)
К следующему изменению →
Строка 10: Строка 10:
# переместить ваш .htaccess из папки http в домашнюю папку пользователя и переименовать в htaccess_template # переместить ваш .htaccess из папки http в домашнюю папку пользователя и переименовать в htaccess_template
# добавить в unix_cron ежеминутное задание на выполнение скрипта ограничителя вида # добавить в unix_cron ежеминутное задание на выполнение скрипта ограничителя вида
-# создавть в корне папки http файл block.html - он будет показываться блокированным посетителям.+# создать в корне папки http файл block.html - он будет показываться блокированным посетителям.
* * * * * /usr/local/bin/php -f /home/virtwww/w_blablabla_32423/auto_deny.php * * * * * /usr/local/bin/php -f /home/virtwww/w_blablabla_32423/auto_deny.php

Версия 11:59, 3 октября 2012

Этот ограничитель - модификация стандартного ограничителя для работы со скачками нагрузки средней величины.

Предварительная информация

Работает только на Unix-сайтах, для настройки потребуется подключение по ssh настрока crontab.

Настройка

Для его настройки нужно:

  1. скачать и распаковать в корень FTP-папки файл http://rekby.1gb.ru/scripts/auto_deny.php.gz
  2. в начале файла прописать все домены, работу которых нужно контролировать (поддомены www. учитываются автоматически, их писать не нужно), домены .рф нужно записывать в punycode-форме.
  3. переместить ваш .htaccess из папки http в домашнюю папку пользователя и переименовать в htaccess_template
  4. добавить в unix_cron ежеминутное задание на выполнение скрипта ограничителя вида
  5. создать в корне папки http файл block.html - он будет показываться блокированным посетителям.
* * * * * /usr/local/bin/php -f /home/virtwww/w_blablabla_32423/auto_deny.php

Отличия от стандартного ограничителя

Стандартный ограничитель вызывается перед обработкой каждого вашего php-файла и принять решение о блокировке может только когда обработка php уже началась и на это затрачено процессорное время сервера. Этот ограничитель вызывается 1 раз в минуту независимо от посещения вашего сайта и анализирует текущую нагрузку. Если она превышает параметры, то в .htaccess добавляются правила, запрещающие обращения к сайту на уровне apache, т.е. для понимания того что нужно блокировать запрос уходит значительно меньше ресурсов. Пользователям в этом случае будет отдаваться статическая страница с вашим сообщением, за счет этого ограничитель может сглаживать более мощные всплески нагрузки.

Личные инструменты