lte lt gte gt conditions

Maxim Dounin mdounin на mdounin.ru
Пн Сен 14 15:50:11 UTC 2015


Hello!

On Mon, Sep 14, 2015 at 05:58:08PM +0300, Андрей Василишин wrote:

> 14.09.2015 17:37, Maxim Dounin пишет:
> >Hello!
> >
> >On Mon, Sep 14, 2015 at 09:05:07AM +0300, Alex Vorona wrote:
> >
> >>14.09.15 08:55, Андрей Василишин пишет:
> >>>14.09.2015 8:36, Alex Vorona пишет:
> >>>>13.09.15 23:08, Андрей Василишин пишет:
> >>>>>Добрый день всем!
> >>>>>Хочу странного. Хочу делать limit_rate  в зависимости от
> >>>>>$connections_active и желательно без обращения на бэкенд за данной
> >>>>>логикой. Как такое сделать?
> >>>>map_module пробовали?
> >>>>
> >>>
> >>>не вижу там возможность построить выражение >, <, =<, >=
> >>Постройте самописным генератором map для $connections_active от 0 до 100000
> >>и все.
> >
> >IMHO, проще/правильнее регулярных выражений написать для нужных
> >скоростей.
> >
> 
> Не совсем понял, как это сделать?
> Надо в зависимости от $connections_writing устанавливать $limit_rate, при
> чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к -
> ограничение  200к, от 10к до 15к  - 150к, от 15к и выше - 100к

Как-то так:

    map $connections_writing $limit {
        "~^.{1-3}$"          0;
        "~^[1234].{3}$"      0;
        "~^.{4}$"            200k;
        "~^[1-4].{4}$"       150k;
        default              100k;
    }

И далее в нужном месте:

    set $limit_rate $limit;

Не то чтобы очень прямо, но должно работает.

> ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module не
> описаны тут http://nginx.org/ru/docs/varindex.html

Да вроде описаны.

-- 
Maxim Dounin
http://nginx.org/



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