Можно ли огранивать limit_rate по времени? Если нет, может переменную завести?

Виктор Вислобоков corochoone на gmail.com
Пт Окт 1 11:13:12 MSD 2010


Привет всем.

В общем возникла необходимость ограничивать скорость соединения исходя из
текущего времени.
У нас виртуальный (шаред) хостинг, где несколько сайтов на одном адресе. Для
работы с клиентами-людьми, мощности сервера вполне достаточно и даже с
запасом и всё бы хорошо, пока не приходят боты. Когда хотя бы 5 достаточно
тяжёлых сайтов (а часто бывает одновременно и больше) начинают одновременно
пилить Яндекс, Гугл, Ремблер, Яху и MsnBot, то нагрузка сразу прыгает до
небес. Хорошо помогает конструкция вида:

       if ($http_user_agent ~ Yandex|Rambler|Aport|Googlebot|msnbot|Yahoo) {
          set $limit_rate 2k;
        }

за саму возможность существования которой, Игорю огромное спасибо!

Однако, как вы понимаете, щас поисковики пошли зело борзые и им ещё подавай
не просто чтобы можно было индексировать, а чтобы страницы отдавались
быстро!
Так вот, хотелось бы устанавливать $limit_rate в зависимости от текущего
времени. Например, днём работают пользователи и ставим низкую скорость.
Ночью на сайтах почти никого нет и скорость для ботов можно и повысить!

Да, можно найти обходной путь, написать скрипт, подменять конфиги,
перезагружать nginx, но возможно есть более удобный способ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20101001/1582f548/attachment.html>


Подробная информация о списке рассылки nginx-ru