Одно из основных преимуществ предложений Platform-as-a-Service (PaaS), предоставляемых Microsoft Azure, заключается в значительном снижении управленческой нагрузки. Этот принцип также применяется к Azure SQL Database, которая устраняет необходимость в администрировании и поддержке аппаратной части, операционной системы и платформы управления базами данных. Однако такой безответственный подход не означает, что вы должны полностью отказаться от контроля над ресурсами вашей базы данных.
В этой статье мы рассмотрим различные методы, которые позволяют вам мониторить производительность и характеристики ваших баз данных PaaS, обеспечивая их соответствие вашим ожиданиям. Кроме того, вы можете использовать собранные данные для оптимизации масштабирования и размера вашего развертывания, обеспечивая правильную обработку ваших приложений, связанных с базами данных, но при минимальных затратах.
При развертывании новой SQL Database, помимо выбора регионального центра обработки данных и хранения, вам также необходимо выбрать ее уровень ценообразования, который может быть установлен на Basic, Standard или Premium. Ваш выбор определяет общую производительность, максимальный размер, диапазон возможностей восстановления, а также цену. Производительность измеряется в виде единиц пропускной способности базы данных (или просто DTU), представляющих относительную мощность отдельных уровней и отражающих их процессорную мощность, память и характеристики пропускной способности.
Кроме того, каждый уровень ценообразования характеризуется своей показателем транзакционной нагрузки (количество транзакций в час, измеряющее фактическую пропускную способность соответствующего уровня производительности, созданное Azure SQL Database Benchmark, имитирующее нагрузку онлайн-транзакций), максимальным количеством рабочих потоков, максимальным количеством сеансов, максимальным размером базы данных, а также предсказуемостью (указывающей на согласованность времени отклика).
После развертывания базы данных вы сможете собирать несколько метрик, которые должны дать вам базовое представление о ее текущем состоянии и обеспечить соответствие ожидаемому уровню производительности, связанному с выбранным уровнем ценообразования. Самый простой способ достижения этой цели заключается в использовании портала управления Azure или портала предварительного просмотра.
По умолчанию оба портала отслеживают количество Deadlocks, объем хранилища (определяющий общий размер базы данных), а также количество успешных и неудачных подключений (кстати, портал предварительного просмотра также автоматически включает процент DTU). Чтобы отслеживать уровни использования базы данных, вы также можете добавить как минимум процент использования процессора, процент использования данных и процент использования журнала.
Для каждой метрики страница мониторинга в портале управления и соответствующие линзы или панели в портале предварительного просмотра предоставляют вам как числовую статистику, так и их графические эквиваленты, иллюстрирующие текущие (в пределах интервалов в один час), средние, минимальные и максимальные значения, а также (при необходимости) общие значения. Кроме того, у вас также есть возможность расширить мониторинг до попыток подключения, заблокированных брандмауэром или ограниченных подключений, а также просмотреть любую из перечисленных выше статистик за последний час, сегодня, за последнюю неделю или за произвольный временной интервал.
Для любой из метрик, которые вы решили отслеживать, вы можете определить оповещение (нажав кнопку Добавить правило на панели команд полного портала управления или Добавить оповещение в портале предварительного просмотра), которое будет срабатывать, когда эта метрика пересекает произвольно выбранный порог в одном из четырех предопределенных интервалов оценки (полный портал управления ограничен последними 15 минутами, последними 30 минутами, последними 45 минутами или последним часом, но портал предварительного просмотра предлагает большую гибкость, с интервалами от 5 минут до 24 часов). Это будет отражено оповещением, появляющимся на странице оповещений в узле Службы управления портала управления и в линзе правил оповещений соответствующей панели базы данных в портале предварительного просмотра. Оповещения могут быть автоматически перенаправлены на указанный почтовый ящик (включая почтовые ящики администратора службы и соадминистраторов подписки).
Если вашей целью является управление и просмотр данных мониторинга без обращения к порталам, вы можете реализовать аналогичную функциональность, используя две существующие конструкции SQL Database:
Представление каталога sys.resource_stats в базе данных master логического экземпляра SQL Server, где находится ваша пользовательская база данных. Представление предоставляет ряд статистических данных (включая usage_in_seconds, storage_in_megabytes, avg_cpu_cores_used, avg_physical_read_iops, avg_physical_write_iops, active_memory_used_kb, active_session_count, active_worker_count, avg_cpu_percent, avg_physical_data_read_percent и avg_log_write_percent), агрегированных по пятиминутным интервалам для каждой базы данных, размещенной в том же логическом экземпляре SQL Server (к которому относится база данных master). Из-