Author : MD TAREQ HASSAN | Updated : 2020/11/24

What is Throttling?

Throttling levels

Throttling happens at two levels:

Throttling config

<rate-limit-by-key  calls="10"
          renewal-period="60" 
		  counter-key="..." 
		  />

<quota-by-key calls="1000000"
          bandwidth="10000"
          renewal-period="2629800" 
		  counter-key="..." 
		  />

IP address throttling

<rate-limit-by-key  calls="10"
          renewal-period="60"
          counter-key="@(context.Request.IpAddress)" />

<quota-by-key calls="1000000"
          bandwidth="10000"
          renewal-period="2629800"
          counter-key="@(context.Request.IpAddress)" />

User identity throttling

<rate-limit-by-key calls="10"
    renewal-period="60"
    counter-key="@(context.Request.Headers.GetValueOrDefault("Authorization","").AsJwt()?.Subject)" />

Throttling API

Throttling API Step 1

Throttling API Step 2

Throttling API Step 3