Default Consumption plan vs Specific Consumption plan scaling differences
- Dominant language
- PowerShell
- Stars
- 1.1k
- Forks
- 215
- Avg merge
- 4h 2m
- Merged PRs (30d)
- 1
Description
I have a basic function which converts some HTML to a PDF, I've been testing various options to see how the performance is and came across some odd scaling behaviour.
Test - Submit 5 requests to a storage queue then sleep for 3s then submit another 5 until 1000 requests have been submitted. Each request has it's own copy of the HTML file on blob storage
All functions report to the same app insights and I ran each version 3 times from 0 running instances
**5 copies of the function on a consumption plan created as part of an ARM template.**
It tops out each time at around 84 instances, average time to finish all requests is about 30 minutes and the average time to dequeue a message is 470 seconds
**5 copies of the function on a "default" consumption plan created when you let Azure create the plan, say deploying from Visual Studio**
This tops out at around 220 instances, average time to finish all requests is about 17 minutes and the average time to dequeue a message is 90 seconds
Given I would expect these to be identical can anyone explain the variance?
For info and out of curiosity I also tried one function on a custom consumption plan which went to about 100 instances but was slower still at about 40 minutes and 5 functions on 5 different consumption plans and that also went to about 100 instances but only took 23 minutes
I can provide instance/app insights id's as required, not sure which will be most helpful!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.