โญ Repository โ ๐ Compliance Engine โ ๐ CloudAware โ ๐ Azure โ ๐ SQL Database
๐ก๏ธ Azure SQL Elastic Pool is underutilized๐ข
- Contextual name: ๐ก๏ธ Elastic Pool is underutilized๐ข
- ID:
/ce/ca/azure/sql-database/elastic-pool-underutilized
- Tags:
- ๐ข Policy with categories
- ๐ข Policy with type
- ๐ข Production policy
- Policy Type:
COMPLIANCE_POLICY
- Policy Categories:
COST
,PERFORMANCE
Logicโ
- ๐ง prod.logic.yaml๐ข
Descriptionโ
Descriptionโ
This policy identifies Azure SQL Elastic Pools that are underutilized based on their performance metrics over the past 30 days. An Elastic Pool is flagged as underutilized if it meets the following criteria:
- DTU-based pools: Average DTU consumption is below 20% and average storage utilization is below 10%.
- vCore-based pools: Average CPU utilization is below 20% and average storage utilization is below 10%.
Rationaleโ
Oversized Elastic Pools lead to unnecessary cloud costs. Elastic Pools are intended to efficiently manage multiple databases with variable performance demands. However, consistently underutilized pools result in wasted resources and spending. Identifying and rightsizing these pools allows organizations to optimize costs while maintaining required performance levels for applications.
Impactโ
Before resizing, it is essential to analyze historical performance data to ensure that the new configuration can handle periodic or seasonal peaks in workload demand. Excessive downsizing could result in performance bottlenecks.
... see more
Remediationโ
Remediationโ
Before performing any changes, review historical performance metrics to ensure the new configuration can accommodate periodic or seasonal peaks.
Resize the Elastic Poolโ
From Azure CLIโ
az sql elastic-pool update \
--resource-group {{resource-group}} \
--server {{server-name}} \
--name {{pool-name}} \
--edition {{Standard | GeneralPurpose}} \
--capacity {{DTU or vCore count}} \
--db-min-capacity {{min-capacity}} \
--db-max-capacity {{max-capacity}} \
--storage {{max-size}} \
[--family {{Gen5}}]
DTU-based pools:
--edition Standard
(or Basic/Premium).--capacity
= total DTUs for the pool.--db-min-capacity
/--db-max-capacity
= min/max DTU per database.- Omit
--family
.vCore-based pools:
--edition GeneralPurpose
(or BusinessCritical).--capacity
= total vCores for the pool.--db-min-capacity
/--db-max-capacity
interpreted as min/max vCores per database.- Add
--family Gen5
.
From PowerShellโ
Set-AzSqlElasticPool `
... [see more](remediation.md)
policy.yamlโ
Linked Framework Sectionsโ
Section | Sub Sections | Internal Rules | Policies | Flags | Compliance |
---|---|---|---|---|---|
๐ผ Cloudaware Framework โ ๐ผ Resource Right-Sizing | 15 | no data | |||
๐ผ Cloudaware Framework โ ๐ผ Workload Efficiency | 24 | no data |