[dnsdist] Burst in MaxQPSIPRule()

Jacob Bunk Nielsen jbn at one.com
Mon Jul 22 09:56:38 UTC 2019


Hi

On 22/07/2019 09.25, Jacob Bunk Nielsen wrote:
> I've been reading up on the documentation for MaxQPSIPRule() which you 
> can use to implement rate limits on DNS queries. A very nice feature.
>
> It has a burst option which will allow clients to have bursts of 
> queries, but it's not very clear to me exactly what it means. The 
> documentation says:
>
> "*burst*(/int/) – The number of burstable queries per second allowed. 
> Default is same as qps"
>
I tried to have a quick view of the code and now understand this wording 
better, I think.

> So let's say I create a rule like:
>
> addAction(MaxQPSIPRule(5, 32, 64, 10), DelayAction(100))
>
> This should delay any queries that exceed 5 per second with a burst of 
> 10 allowed.
>
As I read the code, this would allow 10 queries as fast as you could 
send them for every second. So that would effectively mean a rate limit 
of 10 QPS and not 5, so it never makes sense to set burst higher than 
the allowed rate. That rule would make much more sense like:

addAction(MaxQPSIPRule(5, 32, 64, 3), DelayAction(100))

Which would mean rate limiting to 5 QPS, but allow the first 3 as fast 
as you want.

Did I get this right?

Best regards,

Jacob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/dnsdist/attachments/20190722/d54778c1/attachment.html>


More information about the dnsdist mailing list