ПРОЕКТЫ 


  АРХИВ 


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]

Re: limit requests



On Sat, Mar 31, 2007 at 10:19:25AM +0200, Roxis wrote:

> On Friday 30 March 2007, Igor Sysoev wrote:
> > Есть какие-нибудь комментарии/пожелания по названиям/функциональности ?
> 
> предлагаю добавить переменные (connections, rate, bust)
> и использовать их в if условиях
> 
> if ($connections > 5 and $rate > 1/s) {
>   limit_rate  10k;
> }

Это проблематично. Ограничение вкратце устроено так:

1) Есть область памяти конечного размера (зона), разделяемая между всеми
рабочими процессами. Каждой такой зоне задаётся имя и размер:

    limit_zone   one  $binary_remote_addr  10m;

Кроме того, задаётся переменная, по значениям которой делается ограничение.

Таким образом, connections, rate и burst должны быть как-то синтаксически
связаны с зоной.

2) выражение "$rate > 1/s" сложно вычилисть в рамках "if".

3) весь "if" будет выполняться медленее, чем специализировання проверка.


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



 




Copyright © Lexa Software, 1996-2009.