Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается коллекция проверенных методик FinOps для служб баз данных. Он предоставляет стратегии оптимизации затрат, повышения эффективности и использования запросов Azure Resource Graph (ARG) для получения аналитических сведений о ресурсах базы данных. Следуя этим методикам, вы можете убедиться, что службы баз данных являются экономически эффективными и соответствуют финансовым целям вашей организации.
Cosmos DB
В следующих разделах приведены запросы ARG для Cosmos DB. Эти запросы помогают получить аналитические сведения об учетных записях Cosmos DB и убедиться, что они настроены с соответствующими Запросными Единицами (RU). Анализируя шаблоны использования и предоставленные рекомендации от Помощник по Azure, вы можете оптимизировать RUs для повышения эффективности затрат.
Запрос на подтверждение единиц запросов в Cosmos DB
Этот запрос ARG анализирует учетные записи Cosmos DB в вашей среде Azure, чтобы убедиться, что они настроены с соответствующим количеством единиц запросов (RUs).
Описание
Этот запрос определяет учетные записи Cosmos DB с рекомендациями по оптимизации единиц запросов (RU) в зависимости от образца использования. Он отображает рекомендации от Помощник по Azure по настройке единиц запросов (RUs) для повышения экономической эффективности.
Категория
Оптимизация
Запрос
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
Запрос: коллекции Cosmos DB, которые могут воспользоваться переходом на другой режим пропускной способности
Этот запрос ARG определяет коллекции Cosmos DB в вашей среде Azure, которым рекомендуется переключить режим пропускной способности на основе рекомендаций Помощник по Azure.
Описание
Этот запрос выводит коллекции Cosmos DB, которые имеют рекомендации по переключению режима пропускной способности (например, от ручного к автоматическому масштабированию или наоборот) для оптимизации затрат и производительности. В нем используются рекомендации Помощника по Azure для выделения потенциальных улучшений.
Категория
Оптимизация
Льготы
- Оптимизация затрат: определяет коллекции Cosmos DB, которые могут сэкономить затраты, переключившись на более подходящий режим пропускной способности на основе шаблонов использования и рекомендаций.
- Управление производительностью: Гарантирует, что коллекции Cosmos DB используют оптимальный режим использования пропускной способности, повышая производительность и избегая чрезмерного или недостаточного выделения ресурсов.
Запрос
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
Запрос: сведения о режиме резервного копирования Cosmos DB
Этот запрос ARG анализирует учетные записи Cosmos DB, которые используют политику периодического резервного копирования и не имеют включенной функции нескольких расположений записи.
Категория
Оптимизация
Запрос
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
База данных SQL Azure — это полностью управляемая платформа как ядро СУБД (PaaS), которое обрабатывает большинство функций управления базами данных, таких как обновление, исправление, резервное копирование и мониторинг без участия пользователя. Эластичные пулы позволяют совместно использовать ресурсы между несколькими базами данных для оптимизации затрат.
Связанные ресурсы:
- страница продукта База данных SQL Azure
- Цены на Базу данных SQL Azure
- Документация по базе данных SQL Azure
- Руководство по производительности базы данных SQL
Запрос: бездействие базы данных SQL
Этот запрос ARG определяет базы данных SQL с именами, указывающими, что они могут быть старыми, в разработке или используются для тестирования.
Категория
Оптимизация
Запрос
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
Удаление неиспользуемых эластичных пулов
Рекомендация. Удалите эластичные пулы, у которых нет связанных баз данных, чтобы избежать ненужных затрат.
Сведения об неиспользуемых эластичных пулах
Эластичные пулы SQL позволяют нескольким базам данных совместно использовать общий пул ресурсов. Если в эластичном пуле нет баз данных, плата все равно начисляется исходя из настроенных eDTU или vCore. Удаление пустых эластичных пулов устраняет эти ненужные затраты.
Note
Центры FinOps могут автоматически определять неиспользуемые эластичные пулы. Подробнее.
Определение неиспользуемых эластичных пулов
Используйте следующий запрос ARG для идентификации эластичных пулов без связанных баз данных.
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
Оставить отзыв
Сообщите нам ваше мнение о нашей работе, оставив краткий отзыв. Эти отзывы используются для улучшения и расширения средств и ресурсов FinOps.
Если вы ищете что-то конкретное, проголосуйте за существующую или создайте новую идею. Поделитесь идеями с другими пользователями, чтобы получить больше голосов. Мы сосредоточимся на идеях с большинством голосов.
Связанный контент
Связанные ресурсы:
Связанные решения: