Azure / Azure/Azure-Functions

Default Consumption plan vs Specific Consumption plan scaling differences

Open
#1,461 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.