Re: lte lt gte gt conditions
14.09.15 17:58, Андрей Василишин пишет: Надо в зависимости от $connections_writing устанавливать $limit_rate, при чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - ограничение 200к, от 10к до 15к - 150к, от 15к и выше - 100к И если бы еще это ограничение срабатывало на все коннекты на текущий момент, а не только на новые :) ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
> 14.09.15 13:44, denis пишет: 14.09.2015 9:05, Alex Vorona пишет: Постройте самописным генератором map для $connections_active от 0 до 10 и все. по отзывам, мап на 100к записей ест много памяти и подтормаживает. map на 100к отрабатывает в микробенчмарке одинаково быстро с return 200 - те же 3мс time_total у curl. Понятно, что регуляркой красивее, но раз хочется странного ... ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
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 до 10 > >>и все. > > > >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 mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
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 до 10 и все. IMHO, проще/правильнее регулярных выражений написать для нужных скоростей. Не совсем понял, как это сделать? Надо в зависимости от $connections_writing устанавливать $limit_rate, при чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - ограничение 200к, от 10к до 15к - 150к, от 15к и выше - 100к ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module не описаны тут http://nginx.org/ru/docs/varindex.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
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 до 10 > и все. IMHO, проще/правильнее регулярных выражений написать для нужных скоростей. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
perl_set может быть красивее, насчет быстрее - не уверен. Тогда уже легче заголовком или аргументом передать на пхп-бэкенд, а оттуда вернуть X-Accel-Limit-Rate ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
14.09.15 13:44, denis пишет: 14.09.2015 9:05, Alex Vorona пишет: 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 до 10 и все. по отзывам, мап на 100к записей ест много памяти и подтормаживает. Да и выглядит как ужасный костыль. Больше на 20-30мбайт на 64bit в моем тесте. Это много? perl_set может быть красивее, насчет быстрее - не уверен. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: lte lt gte gt conditions
14.09.2015 9:05, Alex Vorona пишет: 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 до 10 и все. по отзывам, мап на 100к записей ест много памяти и подтормаживает. Да и выглядит как ужасный костыль. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru