Aniket Shintre
Aniket Shintre

Reputation: 61

Azure Functions Scaling

Any help in this regards is much appreciated as I'm new to the subject and I'm unable to arrive at a conclusive answer reading the documentation.

Reference: Azure Functions host.json

Scenario:
Auto-scaling of Azure Functions when values for maxOutstandingRequests, maxConcurrentRequests and dynamicThrottlesEnabled. are set to a finite positive number?

Question:
1. Would it start throwing Http 429 or scale automatically by adding more instances?
2. What happens when concurrent requests bring-in more than 1.5GB of data in-memory?

Upvotes: 3

Views: 2059

Answers (1)

Tom Sun
Tom Sun

Reputation: 24569

1.Would it start throwing Http 429 or scale automatically by adding more instances?

If exceed the max concurrentRequests and dynamicThrottlesEnabled is true then it will throwing 429. And the dynamicThrottlesEnabled value should be boolen type.

maxConcurrentRequests: the maximum number of http functions that will be executed in parallel. The default is unbounded (-1). In these cases, applying a throttle here can help. The default is unbounded(-1).

dynamicThrottlesEnabled: requests will be rejected with a 429 "Too Busy" response until the counter(s) return to normal levels. The default is false.


What happens when concurrent requests bring-in more than 1.5GB of data in-memory?

In your scenario, it should also return 429. when dynamicThrottlesEnabled is enabled, it will also check the connetions/threads/memory/cup etc.

When enabled, this setting will cause the request processing pipeline to periodically check system performance counters like connections/threads/processes/memory/cpu/etc. and if any of those counters are over a built in high threshold (80%),requests will be rejected with a 429

Upvotes: 3

Related Questions