ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

limit requests



Я сейчас делаю ограничение числа запросов. Хотелось бы сделать удобный
синтаксис и функциональность. Планируется заменить директиву

    limit_conn   zone_name  5;

на примерно такое:

    limit_requests  zone=zone_name
        speed=10k   conn=5  rate=1/s
        delay=1s            rate=2/s
        return=503          rate=5/s  burst=10
    ;

Что означает следующее:

        speed=10k    conn=5  rate=1/s

    ограничить скорость 10k/s, если соединений стало больше 5 и скорость
    запросов больше 1 в секунду, при этом скорость ограничивается только
    для 6-го и следующего соединения;

        delay=1s            rate=2/s

    делать задержку в 1 секунду перед обоработкой запроса, если
    соединений стало больше 5 [ неявный параметр из предыдущего
    ограничения ] и скорость запросов больше 2 в секунду;

        return=503          rate=5/s  burst=10

    возращать код 503, если соединений стало больше 5 [ неявный параметр
    из предыдущего ограничения ] и скорость запросов больше 5 в секунду
    и запросов в пике больше 10.

Если burst не указан, то он равен rate.

По мере описания условия [conn, rate и burst] должны увеличиваться
или оставаться такими же, но не должны уменьшаться.

Есть какие-нибудь комментарии/пожелания по названиям/функциональности ?


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.