Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje kolekci osvědčených postupů FinOps pro databázové služby. Poskytuje strategie pro optimalizaci nákladů, zlepšení efektivity a použití dotazů Azure Resource Graphu (ARG) k získání přehledu o vašich databázových prostředcích. Podle těchto postupů můžete zajistit, aby vaše databázové služby byly nákladově efektivní a v souladu s finančními cíli vaší organizace.
Cosmos DB
Následující části obsahují dotazy ARG pro Službu Cosmos DB. Tyto dotazy vám pomůžou získat přehled o účtech Cosmos DB a zajistit, aby byly nakonfigurované s příslušnými jednotkami žádostí (RU). Díky analýze vzorů využití a zpřístupnění doporučení z Azure Advisoru můžete optimalizovat jednotky RU pro nákladovou efektivitu.
Dotaz: Potvrzení jednotek žádostí Cosmos DB
Tento dotaz ARG analyzuje účty Cosmos DB ve vašem prostředí Azure, aby se zajistilo, že jsou nakonfigurované s příslušnými RU.
Popis
Tento dotaz identifikuje účty Cosmos DB s doporučeními pro optimalizaci jejich RU na základě vzorů využití. Nabízí doporučení od Azure Advisoru k úpravě RU pro nákladovou efektivitu.
Kategorie
Optimalizace
Dotaz
advisorresources
| where type =~ 'microsoft.advisor/recommendations'
| where properties.impactedField == 'microsoft.documentdb/databaseaccounts'
and properties.recommendationTypeId == '8b993855-1b3f-4392-8860-6ed4f5afd8a7'
| order by id asc
| project
id, subscriptionId, resourceGroup,
CosmosDBAccountName = properties.extendedProperties.GlobalDatabaseAccountName,
DatabaseName = properties.extendedProperties.DatabaseName,
CollectionName = properties.extendedProperties.CollectionName,
EstimatedAnnualSavings = bin(toreal(properties.extendedProperties.annualSavingsAmount), 1),
SavingsCurrency = properties.extendedProperties.savingsCurrency
Dotaz: Kolekce Cosmos DB, pro které by bylo výhodné přepnout do jiného režimu propustnosti
Tento dotaz ARG identifikuje kolekce Cosmos DB ve vašem prostředí Azure, které by mohly těžit z přepnutí režimu propustnosti na základě doporučení Azure Advisoru.
Popis
Tento dotaz zobrazí kolekce Cosmos DB s doporučeními k přepnutí jejich režimu propustnosti (například z ručního škálování na automatické škálování nebo naopak) za účelem optimalizace výkonu a nákladů. Využívá doporučení Azure Advisoru ke zvýraznění potenciálních vylepšení.
Kategorie
Optimalizace
Výhody
- Optimalizace nákladů: Identifikuje kolekce Cosmos DB, které můžou ušetřit náklady přepnutím do vhodnějšího režimu propustnosti na základě vzorů využití a doporučení.
- Správa výkonu: Zajišťuje, aby kolekce Cosmos DB používaly optimální režim propustnosti, což zlepšuje výkon a zabraňuje přidělení nadměrných nebo nedostatečných zdrojů.
Dotaz
advisorresources
| where type =~ 'microsoft.advisor/recommendations'
| where properties.impactedField == 'microsoft.documentdb/databaseaccounts'
and properties.recommendationTypeId in (
' cdf51428-a41b-4735-ba23-39f3b7cde20c',
' 6aa7a0df-192f-4dfa-bd61-f43db4843e7d'
)
| order by id asc
| project
id, subscriptionId, resourceGroup,
CosmosDBAccountName = properties.extendedProperties.GlobalDatabaseAccountName,
DatabaseName = properties.extendedProperties.DatabaseName,
CollectionName = properties.extendedProperties.CollectionName,
EstimatedAnnualSavings = bin(toreal(properties.extendedProperties.annualSavingsAmount), 1),
SavingsCurrency = properties.extendedProperties.savingsCurrency
Dotaz: Podrobnosti o režimu zálohování služby Cosmos DB
Tento dotaz ARG analyzuje účty Cosmos DB, které používají zásady pravidelného zálohování a nemají povolené více umístění zápisu.
Kategorie
Optimalizace
Dotaz
resources
| where type == "microsoft.documentdb/databaseaccounts"
| where resourceGroup in ({ResourceGroup})
| where properties.backupPolicy.type == 'Periodic'
and tobool(properties.enableMultipleWriteLocations) == false
| extend BackupCopies = toreal(properties.backupPolicy.periodicModeProperties.backupRetentionIntervalInHours)
/ (toreal(properties.backupPolicy.periodicModeProperties.backupIntervalInMinutes) / real(60))
| where BackupCopies >= 10
or (BackupCopies > 2
and toint(properties.backupPolicy.periodicModeProperties.backupRetentionIntervalInHours) <= 168)
| order by id asc
| project id, CosmosDBAccountName=name, resourceGroup, subscriptionId, BackupCopies
Databáze SQL
Azure SQL Database je plně spravovaný databázový stroj paaS (platforma jako služba), který zpracovává většinu funkcí správy databází, jako je upgrade, opravy, zálohy a monitorování bez zásahu uživatele. Elastické fondy umožňují sdílet prostředky mezi více databázemi za účelem optimalizace nákladů.
Související zdroje:
- stránka produktu Azure SQL Database
- Ceny služby Azure SQL Database
- Dokumentace ke službě Azure SQL Database
- Doprovodné materiály k výkonu služby SQL Database
Dotaz: Nečinná databáze SQL
Tento dotaz ARG identifikuje databáze SQL s názvy, které můžou být staré, ve vývoji nebo používané pro účely testování.
Kategorie
Optimalizace
Dotaz
resources
| where type == "microsoft.sql/servers/databases"
| where name contains "old" or name contains "Dev"or name contains "test"
| where resourceGroup in ({ResourceGroup})
| extend SQLDBName = name, Type = sku.name, Tier = sku.tier, Location = location
| order by id asc
| project id, SQLDBName, Type, Tier, resourceGroup, Location, subscriptionId
Odebrání nepoužívaných elastických fondů
Doporučení: Odeberte elastické fondy, které nemají přidružené databáze, abyste se vyhnuli zbytečným nákladům.
Informace o nepoužívaných elastických fondech
Elastické fondy SQL umožňují více databázím sdílet společný fond prostředků. Pokud elastický fond neobsahuje žádné databáze, i nadále jsou účtovány poplatky podle jeho nakonfigurovaných eDTU nebo virtuálních jader. Odebrání prázdných elastických fondů eliminuje tyto zbytečné náklady.
Note
Centra FinOps můžou automaticky identifikovat nepoužívané elastické fondy. Další informace.
Identifikace nepoužívaných elastických fondů
Pomocí následujícího dotazu ARG identifikujte elastické fondy bez přidružených databází.
resources
| where type == "microsoft.sql/servers/elasticpools"
| extend elasticPoolId = tolower(tostring(id))
| extend elasticPoolName = name
| extend elasticPoolRG = resourceGroup
| extend skuName = tostring(sku.name)
| extend skuTier = tostring(sku.tier)
| extend skuCapacity = tostring(sku.capacity)
| join kind=leftouter (
resources
| where type == "microsoft.sql/servers/databases"
| extend elasticPoolId = tolower(tostring(properties.elasticPoolId))
) on elasticPoolId
| summarize databaseCount = countif(isnotempty(elasticPoolId1)) by
elasticPoolId,
elasticPoolName,
serverResourceGroup = resourceGroup,
name,
skuName,
skuTier,
skuCapacity,
elasticPoolRG
| where databaseCount == 0
| project elasticPoolId,
elasticPoolName,
databaseCount,
elasticPoolRG,
skuName,
skuTier,
skuCapacity
Váš názor
Dejte nám vědět, jak si vedeme, pomocí rychlé zpětné vazby. Tyto recenze používáme k vylepšení a rozšíření nástrojů a prostředků FinOps.
Pokud hledáte něco konkrétního, hlasujte pro existující nebo vytvořte nový nápad. Sdílejte nápady s ostatními, abyste získali více hlasů. Zaměřujeme se na nápady s nejvíce hlasy.
Související obsah
Související zdroje:
Související řešení: