Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, veritabanı hizmetleri için kanıtlanmış FinOps uygulamalarının bir koleksiyonu özetlenmektedir. Veritabanı kaynaklarınız hakkında içgörüler elde etmek için maliyetleri iyileştirmeye, verimliliği artırmaya ve Azure Kaynak Grafı (ARG) sorgularını kullanmaya yönelik stratejiler sağlar. Bu uygulamaları izleyerek veritabanı hizmetlerinizin uygun maliyetli olduğundan ve kuruluşunuzun finansal hedefleriyle uyumlu olduğundan emin olabilirsiniz.
Cosmos DB veritabanı hizmeti
Aşağıdaki bölümlerde Cosmos DB için ARG sorguları sağlanmaktadır. Bu sorgular Cosmos DB hesaplarınızla ilgili içgörüler elde etmenize ve bunların uygun İstek Birimleri (RU) ile yapılandırıldığından emin olmanıza yardımcı olur. Azure Danışmanı'ndan gelen önerileri ortaya çıkartarak ve kullanım modellerini analiz ederek RU'ları maliyet verimliliği için optimize edebilirsiniz.
Sorgu: Cosmos DB istek birimlerini onaylayın
Bu ARG sorgusu, uygun RU'larla yapılandırıldığından emin olmak için Azure ortamınızdaki Cosmos DB hesaplarını analiz eder.
Açıklama
Bu sorgu, kullanım desenlerine göre RU'larını iyileştirmeye yönelik öneriler içeren Cosmos DB hesaplarını tanımlar. Azure Danışmanı'nın RU'ları maliyet verimliliği için ayarlamaya yönelik önerilerini ortaya çıkarmaktadır.
Kategori
İyileştirme
Sorgu
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
Sorgu: Başka bir aktarım hızı moduna geçmenin fayda sağlayacağı Cosmos DB koleksiyonları
Bu ARG sorgusu, Azure Danışmanı önerilerine göre aktarım hızı modunu değiştirmenin fayda sağlayacağı Cosmos DB koleksiyonlarını Azure ortamınızda tanımlar.
Açıklama
Bu sorgu, performansı ve maliyeti iyileştirmek için geçiş modunu (örneğin, manuelden otomatik ölçeklemeye veya tam tersi) değiştirme önerilerine sahip Cosmos DB koleksiyonlarını belirler. Olası iyileştirmeleri vurgulamak için Azure Danışmanı önerilerini kullanır.
Kategori
İyileştirme
Avantajlar
- Maliyet iyileştirme: Kullanım desenlerine ve önerilerine göre daha uygun bir aktarım hızı moduna geçerek maliyet tasarrufu sağlayan Cosmos DB koleksiyonlarını tanımlar.
- Performans yönetimi: Cosmos DB koleksiyonlarının en iyi aktarım hızı modunu kullanarak performansı geliştirmesini ve aşırı sağlama veya yetersiz sağlamayı önlemesini sağlar.
Sorgu
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
Sorgu: Cosmos DB yedekleme modu ayrıntıları
Bu ARG sorgusu, 'Düzenli' yedekleme ilkesini kullanan ve birden çok yazma konumu etkin olmayan Cosmos DB hesaplarını analiz eder.
Kategori
İyileştirme
Sorgu
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
SQL Veritabanları
Aşağıdaki bölümlerde SQL Veritabanı için ARG sorguları sağlanmaktadır. Bu sorgular boşta, eski, geliştirme aşamasında veya test amacıyla kullanılabilecek SQL veritabanlarını belirlemenize yardımcı olur. Bu veritabanlarını analiz ederek az kullanılan kaynakları devreden çıkararak ya da yeniden kullanarak maliyetleri optimize edebilir ve verimliliği artırabilirsiniz.
Sorgu: SQL DB boşta
Bu ARG sorgusu eski, geliştirme aşamasında veya test amacıyla kullanılabileceğini belirten adlara sahip SQL veritabanlarını tanımlar.
Kategori
İyileştirme
Sorgu
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
Sorgu: Kullanılmayan Elastik Havuzlar analizi
Bu ARG sorgusu, her elastik havuzla ilişkili veritabanı sayısını analiz ederek Azure SQL ortamınızda boşta olabilecek Elastik Havuzları tanımlar.
Kategori
İyileştirme
Sorgu
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
Görüş bildirin
Hızlı bir incelemeyle nasıl olduğumuzu bize bildirin. Bu incelemeleri FinOps araçlarını ve kaynaklarını geliştirmek ve genişletmek için kullanırız.
Belirli bir şey arıyorsanız mevcut bir fikir için oy verin veya yeni bir fikir oluşturun. Daha fazla oy almak için başkalarıyla fikir paylaşın. En çok oyu alan fikirlere odaklanıyoruz.
İlgili içerik
İlgili kaynaklar:
İlgili çözümler: