[Premium] HTTP triggered function not scaling out to maximum burst
- Dominant language
- PowerShell
- Stars
- 1.1k
- Forks
- 215
- Avg merge
- 4h 2m
- Merged PRs (30d)
- 1
Description
**Describe the bug**
It appears that a HTTP triggered Function App on the Premium Plan is not scaling out based on outstanding requests or CPU %.
**To Reproduce**
Steps to reproduce the behavior:
1. Create a Linux Node.js Function App on the Premium Plan (`EP1`)
1. Set the following in `host.json`
```json
"http": {
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 1,
"dynamicThrottlesEnabled": true
}
```
1. Use a tool like JMeter or [artillery](https://artillery.io) to simulate a sustained load of traffic over a period of 10 minutes.
1. Observe the number of instances that get created.
**Expected behavior**
Given the scaling settings shown below, I'd expect my Function App on the Premium plan to scale out to up to 20 instances when it is under heavy load. Instead, it doesn't seem to scale at all, and ultimately begins returning `429` statuses.
Scale out settings:

Number of instances observed during load testing:

**Additional screenshots**
2xx and 4xx requests

**Additional context**
The system we're attempting to use is CPU intense, which is why we would want to set `maxConcurrentRequests` and scale out when load increases. Since the Function App isn't currently scaling out, our CPU spikes. I'd also expect the Function App to scale based on this alone.

Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.