limit requests

Igor Sysoev is at rambler-co.ru
Sat Mar 31 20:15:05 MSD 2007


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





More information about the nginx-ru mailing list