Welcome! Log In Create A New Profile

Advanced

Re: limit_req

Maxim Dounin
September 05, 2011 10:40AM
Hello!

On Mon, Sep 05, 2011 at 09:19:03PM +0700, Victor Sudakov wrote:

> Добрый день!
>
> Два вопроса по сабжу.

Просьба писать новое письмо для создания нового треда, а не
отвечать на старое. Иначе не относящиеся друг к другу письма
сваливаются в один тред, "это неправильно" (c). Спасибо.

> 1. В http://forum.nginx.org/read.php?21,171264,171276#msg-171276 очень
> доходчиво изложен принцип работы, спасибо Максиму. Но не совсем
> понятно, как интерпретировать сообщения в логах. Например
>
> 2011/09/04 19:39:16 [error] 69112#0: *3786228 limiting requests, excess: 16.330 by zone "one", client: XXXXXX
>
> Что такое *3786228 и какой физический смысл значения excess? В
> http/modules/ngx_http_limit_req_module.c смотрел, сильно понятнее не
> стало.

Excess - это текущее количество запросов, скопившееся в "корзине".
Если оно больше параметра burst - запросы будут отбрасываться.

> 2. Какие оптимальные значения rate и burst, чтобы не мешать обычному
> интерактивному браузингу и нормальным поисковикам, и в то же время не
> позволить бешеным скриптам и качалкам DoS-ить backend? Установка
> limit_req планируется только на динамические страницы. Пока поставил
> rate=16r/s и burst=16. В логах вижу довольно много "delaying requests"
> и изредка "limiting requests".

Зависит от того, что именно лимитируется и как это что-то
используется у вас на сайте. Если ставить ограничение только на
динамические ресурсы, и просмотр страницы пользователем - это
один запрос к динамическому ресурсу (+ несколько нелимитированных
запросов к статитке), то для живых людей должно хватать rate=1r/s
+ burst=10. Ибо редкий живой человек может просматривать страницы
с частотой более одной страницы в секунду, а если и сможет - то
врядли он выдержит такой темп больше нескольких секунд.

Если же один просмотр страницы пользователем выливается во много
обращений к динамическим ресурсам (e.g. AJAX туда, AJAX сюда, плюс
динимаически генерируемых картинок загрузить и т.п.), и все они
лимитированы - то соответственно цифры будут совсем другие.

В любом случае я бы рекомендовал использовать "limit_req ...
nodelay", от задержки обычно больше вреда чем пользы (хотя и
существуют специфические ситуации, где она полезна).

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 08:00AM

Re: openssl-1.0.0d & proxy_buffering

Igor Sysoev September 05, 2011 08:14AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 08:26AM

Re: openssl-1.0.0d & proxy_buffering

Igor Sysoev September 05, 2011 08:30AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 08:42AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 08:56AM

Re: openssl-1.0.0d & proxy_buffering

Igor Sysoev September 05, 2011 09:06AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 09:10AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 09:38AM

Re: openssl-1.0.0d & proxy_buffering

Maxim Dounin September 05, 2011 10:06AM

Re: openssl-1.0.0d & proxy_buffering

Maxim Dounin September 05, 2011 11:22AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 05, 2011 12:32PM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 06, 2011 12:10AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 06, 2011 12:30AM

Re: openssl-1.0.0d & proxy_buffering

Maxim Dounin September 06, 2011 01:54AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 06, 2011 02:46AM

Re: openssl-1.0.0d & proxy_buffering

Maxim Dounin September 06, 2011 04:54AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 06, 2011 06:04AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 23, 2011 02:52PM

Re: openssl-1.0.0d & proxy_buffering

Igor Sysoev September 06, 2011 06:20AM

Re: openssl-1.0.0d & proxy_buffering

Andrey N. Oktyabrski September 06, 2011 06:24AM

NGiNX_HTTP_Push_Module

kisulja2000@mail.ru September 05, 2011 02:42PM

Re: NGiNX_HTTP_Push_Module

JohnBat26 September 05, 2011 03:46PM

Re[2]: NGiNX_HTTP_Push_Module

Михаил Монашёв September 05, 2011 04:42PM

Re: Re[2]: NGiNX_HTTP_Push_Module

JohnBat26 September 06, 2011 02:08AM

Re: NGiNX_HTTP_Push_Module

kisulja2000@mail.ru September 06, 2011 02:12AM

limit_req

Victor Sudakov September 05, 2011 10:20AM

Re: limit_req

Maxim Dounin September 05, 2011 10:40AM

Re: limit_req

Victor Sudakov September 05, 2011 12:38PM

Re: limit_req

ramm September 05, 2011 12:42PM

Re: limit_req

Victor Sudakov September 05, 2011 01:30PM

Re: limit_req

Victor Sudakov September 14, 2011 10:02PM

Re: limit_req

Valery Kholodkov September 15, 2011 04:54AM

Re: limit_req

Valery Kholodkov September 15, 2011 05:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 136
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