skip to Main Content

I have a EventHub trigger function app using Elastic Premium tier and I’m getting a bottleneck on the EventHub side because the function doesn’t scale more than 20 instances(Maximum of Minimum Instances Always Ready) to process messages, even reaching a high CPU percentage.

Is there any way to "force" this scaling to hit the Maximum Burst?
Because as I’m using EventHub trigger, I need a larger number of instances to consume more messages.

[![enter image description here](https://i.stack.imgur.com/R3PZi.png)](https://i.stack.imgur.com/R3PZi.png)

FYI: I’m using Runtime Scale Monitoring as Microsoft recommends here: Runtime Scale Monitoring

I’m trying to scale my Elastic Premium Azure Function to consume my EventHub messages without any lag.

2

Answers


  1. Chosen as BEST ANSWER

    I found the issue. Two app settings were missing:

    • WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
    • WEBSITE_CONTENTSHARE

    Here the doc

    These appsettings are mandatory and the Function doesn't create it automatically. The behavior I noticed is that without these properties the function is limited to scaling up to 20 instances, which is the max for Always Ready Instances even if you haven't used that max number.

    I think this is a little trick because the documentation is a bit ambiguous about the use of these properties.


  2. Is there any way to "force" this scaling to hit the Maximum Burst?

    As per the Ms-Doc the Always Ready Instances in a Premium plan has the limitation we can’t extend more than 20 instances.

    When the function requires more instance once it reach the Always Ready Instance 20 it will allocate the instances as per the function load. As of now we can’t increase the Always Ready Instances more than 20.

    enter image description here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search