An Azure service that provides a general-purpose, serverless container platform.
Hi @Sean Han
Thank you for reaching out to Microsoft Q&A
If container apps are scaled but it is not scaling down when the http condition is not met, It might be due to misconfiguration or missing health probe. In order to overcome this, you may need to reconfigure the health probe because when a container is marked unhealthy due to missing or failed probes, it can prevent to autoscale from scaling it down, even if the workload has decreased.
The other reason it might happen are below:
Ingress health checks / platform probes
Azure infrastructure generates periodic connections (health checks, readiness/liveness probes, activator traffic). These do not appear in application logs, but they do count toward HTTP concurrency, which can trigger scaling.
Concurrent connection–based scaling (not request count)
The HTTP scaler is based on concurrent requests, not total requests. Long‑lived or repeated platform connections can exceed the threshold (e.g., 15 concurrent requests) even when user traffic is zero.
Multiple active revisions
If more than one revision is active and traffic is split, concurrency can be evaluated per revision, causing scale‑out even with very low traffic.
Additional scalers (CPU / memory / sidecars)
If CPU or memory scaling rules exist (including indirect usage from sidecars like Dapr), they can independently trigger scale‑out even when HTTP traffic is absent.
Min replicas configuration
With minReplicas set to 2, the app never scales to zero. Short‑lived metric spikes can scale replicas up and they may not immediately scale back down.
You can run below query to get the platform metric and check if there's any spike:
# Replicas & concurrency over last 7 days
az monitor metrics list \
--resource <container-app-resource-id> \
--metric Replicas,ConcurrentRequests,Requests \
--interval PT1H --aggregation Average
# CPU/Memory signals (if a custom scaler exists)
az monitor metrics list \
--resource <container-app-resource-id> \
--metric CPUUsage,MemoryUsage --interval PT1H --aggregation Average
You can also query log analytics and ContainerAppSystemEvents table to evaluate scaling decisions and CPU metrics.
Refer: https://learn.microsoft.com/en-us/azure/container-apps/log-monitoring?tabs=bash#azure-clipowershell
In your Container App Overview page:
Go to Diagnose & Solve Problems and check if there's any recommendation or failure in the scaling.