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