Em quanto tempo o depósito de token do nginx é reabastecido ao limitar as solicitações por minuto?

5

Decidimos que queremos experimentar e limitar solicitações por minuto, em vez de solicitações por segundo em nossos sites. No entanto, estou confuso com o parâmetro burst neste contexto.

Tenho a impressão de que, quando você usa a sinalização "nodelay", a facilidade de limitação de taxa funciona como um depósito de tokens em vez de um balde furado. Sendo esse o caso, o tamanho do intervalo é igual ao parâmetro de intermitência e, sempre que violar a política (digamos, 1 req / s), é necessário colocar um token no intervalo. Quando o balde estiver cheio (sendo igual à configuração de arrebentamento), você receberá uma página de erro 503.

Também tenho a impressão de que, quando um infrator interrompe a política, um token é removido do bloco a uma taxa de 1 token / s, permitindo que ele recupere o acesso ao site.

Supondo que eu tenha o correto acima, minha pergunta é o que acontece quando eu começo a regular o acesso por minuto? Se escolhermos 60 solicitações por minuto, a que taxa o depósito de token será reabastecido?

    
por Michael Gorsuch 28.05.2010 / 19:45

2 respostas

4

Nas minhas experiências, parece que por minuto é apenas uma maneira de escrever taxas que estão em intervalos de sub-segundo. Então 60r / m == 1r / s. Isso pode ser demonstrado configurando-o para 60 solicitações por minuto e, em seguida, ativando duas solicitações por segundo. Será limitado desde o início, não só depois de 60 pedidos terem sido feitos.

Dito isto, ainda não entendo como tudo isso funciona: -)

    
por 18.07.2010 / 15:36
-1

Sim, funciona como um algoritmo de token bucket. Eu também experimentei manualmente com o meu servidor para verificar isso. Você pode ver link por exemplo

Se você escolher 60 req / min, ele reabastecerá um token a cada segundo.

    
por 17.10.2015 / 15:54