Skip to content

Container App Jobs do not scale beyond 10-12 replicas concurrently reliably #1216

Description

@robrennie

This issue is a: (mark with an x)

  • [ x] bug report -> please search issues before submitting
  • documentation issue or request
  • regression (a behavior that used to work and stopped in a new release)

Issue description

When executing Container App Jobs using Event-driven scaling triggered by an azure-queue Job Scale rule, only 10-12 (or so) replicas will run concurrently at a time, even if the "max executions" is set to 100. If, for example, 20 messages are in the storage queue, 10-12 messages will be consumed and trigger replicas to be created, and the remaining will wait in the queue until one of the prior replicas completes and frees up a slot. Eventually, all 20 messages will be handled, but only the first 10-12 concurrently - all else are serialized.

Here's a screenshot of an execution log. All of these executions were triggered by the same batch of queue messages however notice the top two didn't start until another execution completed. Therefore, this is DOUBLING the entire time it takes to concurrently execute a batch of queue messages.

It's almost like there's some internal throttle that stops creating replicas regardless of what the "max executions" is set to (100 in this case).

image

Steps to reproduce

  1. Create a Container App Job, using the Consumption plan, using Event-driven scaling triggered by an azure-queue Job Scale rule.
  2. In my case, the Container App was a 1 CPU, 2 GB size.
  3. Set "max executions" to 100, set polling interval to 5 seconds.
  4. Add 20 messages at once to the storage queue.
  5. Watch only 10-12 (I've seen 13 and even 17 recently) start immediately.
  6. Check queue and see some still remaining.
  7. Wait for all jobs to complete - 2x as long as it should take.

Metadata

Metadata

Assignees

No one assigned

    Labels

    JobsRelating to Azure Container Apps JobsNeeds: triage 🔍Pending a first pass to read, tag, and assign

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions