Welcome! Log In Create A New Profile

Advanced

Re: Реализация multiple limit_req

Валентин Бартенев
December 14, 2011 10:40AM
On Wednesday 14 December 2011 18:22:26 Maxim Dounin wrote:
> Давай для начала распишем последствия обычного "последовательного"
> применения лимитов, чтобы было понятно что так нельзя. Или,
> наоборот, можно, но с какими ограничениями.
>
> Что касается принципа, то он мне не нравится: нам либо нужно всё
> это делать держа локи (deadlock expected), либо имеем race между
> проверкой и обновлением (и, опять же, локи придётся брать два
> раза, что тоже не очень хорошо).
>

В limit_conn у нас также локи берутся дважды, и тут, на первый взгляд,
всё можно сделать по тому же принципу.

Опять же, всё упирается в то, хотим ли мы считать отклоненные запросы или
не хотим.

"Счёт" только еще можно разделить на два уровня:
- обновление времени последнего запроса;
- увеличение очереди.

Если мы будем просто последовательно проверять лимиты до первого
срабатывания, то у нас получается ситуация, когда "иссякший" лимит
стоящий на втором месте будет работать достаточно странно, имея
причудливую зависимость от предшествующих.

Странность заключается в том, что запросы будут отклоняться, когда
предшествующие вообще не сработали, и не отклоняться, если предшествующие
сработали на задержание. Иными словами, меньший rate по предшествующим
лимитам будет приводить к более суровым мерам.

Меньший rate -> более жесткие меры - IMHO, вот так быть не должно.

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Реализация multiple limit_req

Валентин Бартенев December 14, 2011 09:06AM

Re: Реализация multiple limit_req

Maxim Dounin December 14, 2011 09:24AM

Re: Реализация multiple limit_req

Валентин Бартенев December 14, 2011 10:40AM

Re: Реализация multiple limit_req

Maxim Dounin December 14, 2011 11:26AM

Re: Реализация multiple limit_req

Валентин Бартенев December 14, 2011 01:00PM

Re: Реализация multiple limit_req

Maxim Dounin December 14, 2011 01:30PM

Re[2]: Реализация multiple limit_req

Михаил Монашёв December 14, 2011 01:56PM

Re: Реализация multiple limit_req

Maxim Dounin December 15, 2011 07:40AM

Re[2]: Реализация multiple limit_req

Михаил Монашёв December 16, 2011 11:10AM

Re[3]: Реализация multiple limit_req

Михаил Монашёв December 16, 2011 11:22AM

Re: Реализация multiple limit_req

Maxim Dounin December 16, 2011 12:06PM

Re: Реализация multiple limit_req

Gena Makhomed December 18, 2011 03:02PM

Re: Реализация multiple limit_req

Maxim Dounin December 19, 2011 03:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 299
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready