Повышение производительности приложений Azure с помощью Помощника по Azure

Рекомендации по производительности, предлагаемые Помощником по Azure, помогают улучшить работу, повысить производительность и увеличить скорость реагирования критически важных бизнес-приложений. Получить рекомендации Помощника по производительности можно на вкладке Производительность панели мониторинга Помощника.

Сокращение срока жизни DNS в профиле диспетчера трафика Microsoft Azure, чтобы ускорить отработку отказа на работоспособные конечные точки

Параметры срока жизни (TTL) в профиле диспетчера трафика позволяют указать, как быстро выполнить переключение на конечные точки, если нужные конечные точки прекращают отвечать на запросы. Сокращение срока жизни означает, что клиенты быстрее будут перенаправляться на работоспособные конечные точки.

Помощник по Azure находит профили диспетчера трафика с параметрами большего срока жизни. Затем он рекомендует установить срок жизни на уровне 20 секунд или 60 секунд в зависимости от того, настроена ли в профиле быстрая отработка отказа.

Повышение производительности базы данных с помощью Помощника по базам данных SQL (временно отключено)

Помощник по Azure предоставляет согласованное сводное представление с рекомендациями для всех ресурсов Azure. Он интегрируется с Помощником по базам данных SQL, что позволяет вам получить рекомендации по повышению производительности баз данных. Помощник по базам данных SQL оценивает производительность ваших баз данных, анализируя журнал использования. После этого он предлагает рекомендации, наиболее подходящие для типовых нагрузок в вашей базе данных.

Примечание

Чтобы рекомендации сформировались, база данных должна использоваться примерно неделю, в течение которой должна быть постоянная активность. Помощник по базам данных SQL обеспечивает более эффективную оптимизацию при стабильном потоке запросов, чем на основе случайных всплесков активности.

Дополнительные сведения см. на странице Помощник по базам данных SQL.

Обновление клиентской библиотеки для службы хранилища до последней версии для повышения надежности и производительности

Последняя версия пакета SDK клиентской библиотеки для службы хранилища содержит исправления проблем, о которых сообщили клиенты и которые мы заблаговременно выявили благодаря контролю качества. Кроме того, в последней версии оптимизирована надежность и производительность, а также добавлены новые функции, которые в целом делают службу хранилища Azure удобнее. Помощник предлагает рекомендации и инструкции, необходимые для перехода на последнюю версию пакета SDK, если вы используете устаревшую версию. Рекомендации предоставляются для поддерживаемых языков: C++ и .NET.

Повышение надежности и производительности службы приложений

В Помощнике по Azure реализованы рекомендации по улучшению работы службы приложений и обнаружению соответствующих возможностей платформы. Вот примеры рекомендаций по службам приложений:

  • обнаружение экземпляров, исчерпавших ресурсы памяти или ЦП во время выполнения приложений, и описание вариантов устранения;
  • обнаружение экземпляров, для которых совместное размещение ресурсов, например веб-приложений и баз данных, может повысить производительность и снизить стоимость.

Дополнительные сведения см. в рекомендациях по работе со Службой приложений Azure.

Использование управляемых дисков для предотвращения регулирования операций ввода-вывода

Помощник определяет виртуальные машины, принадлежащие учетной записи хранения, которая достигает своего целевого значения масштабирования. Это условие делает эти виртуальные машины восприимчивыми к регулированию ввода-вывода. Помощник рекомендует использовать Управляемые диски, чтобы предотвратить снижение производительности.

Повышение производительности и надежности дисков виртуальных машин с помощью хранилища класса Premium

Помощник определяет виртуальные машины с дисками уровня "Стандартный" с большим объемом транзакций в вашей учетной записи хранения и рекомендует обновить их до уровня "Премиум".

Хранилище Azure Premium обеспечивает поддержку дисков с высокой производительностью и малой задержкой для виртуальных машин с интенсивной рабочей нагрузкой ввода-вывода. Диски виртуальной машины, использующие учетные записи хранения уровня "Премиум", хранят данные на твердотельных накопителях. Чтобы приложение работало оптимальным образом, мы рекомендуем переносить все диски виртуальных машин, требующие большого количества операций ввода-вывода в секунду, в хранилище класса Premium.

Устранение неравномерного распределения данных в таблицах Azure Synapse Analytics для повышения производительности запросов

Неравномерное распределение данных может привести к ненужному перемещению данных или нехватке ресурсов при выполнении рабочей нагрузки. Помощник определяет неравномерности в распределении данных, превышающие 15 %, и рекомендует повторно распределить данные и проанализировать текущий набор ключей распределения таблиц. См. дополнительные сведения об определении и устранении неравномерного распределения.

Создание или обновление устаревшей статистики таблиц в таблицах Azure Synapse Analytics для повышения производительности запросов

Помощник определяет таблицы без актуальной статистики таблиц и рекомендует создать или обновить эту статистику. Оптимизатор запросов в Azure Synapse Analytics использует актуальные статистические сведения для оценки кратности — числа строк в результатах запроса. Такая оценка позволяет оптимизатору запросов создать высококачественный план запроса для максимальной производительности.

Улучшение управления подключениями MySQL

Анализ Помощника может показать, что приложение, подключаемое к серверу MySQL, неэффективно управляет подключениями. Это может вести к ненужному потреблению ресурсов и высокой общей задержке приложения. Чтобы улучшить управление подключениями, рекомендуем уменьшить количество кратковременных подключений и устранить неактивные подключения. Для этого можно настроить пул подключений на стороне сервера, например ProxySQL.

Масштабирование для оптимизации использования кэша в таблицах Azure Synapse Analytics для повышения производительности запросов

Помощник по Azure определяет, не наблюдаются ли в таблицах Azure Synapse Analytics высокий процент использования кэша и низкий процент попаданий. Это указывает на значительное вытеснение кэша, которое может повлиять на производительность вашего экземпляра Azure Synapse Analytics. Помощник предлагает увеличить масштаб экземпляра Azure Synapse Analytics, чтобы выделить достаточную емкость кэша для рабочей нагрузки.

Преобразование таблиц Azure Synapse Analytics в реплицированные таблицы для повышения производительности запросов

Помощник определяет таблицы, которые не реплицируются и которые стоило бы преобразовать, и предлагает выполнить преобразование. Рекомендации основываются на следующих факторах:

  • Размер реплицируемой таблицы.
  • Количество столбцов.
  • Тип распределения таблиц.
  • Количество секций в таблице Azure Synapse Analytics.

Для контекста ​​в рекомендации может быть предоставлена дополнительная эвристика. Дополнительные сведения см. в рекомендациях для Azure Synapse Analytics.

Перенос учетной записи хранения в Azure Resource Manager для доступа к новым функциям Azure

Перенесите развертывание своей учетной записи хранения в Azure Resource Manager, чтобы получить доступ к следующим преимуществам:

  • Развертывание шаблонов.
  • Дополнительные параметры безопасности.
  • Возможность обновления до учетной записи GPv2, позволяющей использовать новейшие функции службы хранилища Azure.

Помощник определяет все изолированные учетные записи хранения, которые используют классическую модель развертывания, и предлагает перенести их в модель развертывания Resource Manager.

Примечание

Классические оповещения в Azure Monitor были упразднены в августе 2019 г. Мы советуем обновить классическую учетную запись хранения, чтобы использовать Resource Manager для сохранения функциональности оповещений на новой платформе. Дополнительные сведения см. в сообщении о прекращении поддержки классических оповещений.

Создайте свои учетные записи хранения таким образом, чтобы не допускать достижения максимального числа подписок.

Регион Azure поддерживает не более 250 учетных записей хранения на одну подписку. По достижении этого предела вы не сможете создавать учетные записи хранения с данной комбинацией региона и подписки. Помощник проверяет подписки и дает рекомендации по уменьшению числа учетных записей хранения для подписок и регионов, где ограничение почти достигнуто.

Попробуйте увеличить размер SKU VPN-шлюза, чтобы решить проблему с большим количеством подключений "точка — сеть"

Каждый SKU VPN-шлюза Azure поддерживает определенное количество одновременных подключений "точка — сеть". Если количество ваших подключений приближается к ограничению шлюза, при последующих попытках подключения возможны сбои. Увеличение размера шлюза обеспечит поддержку большего числа пользователей для одновременных подключений "точка — сеть". Помощник предлагает рекомендации и инструкции по увеличению размера шлюза.

Увеличение размера SKU VPN-шлюза для решения проблемы с высокой загрузкой ЦП

При интенсивной нагрузке (трафике) VPN-шлюз может удалять пакеты из-за высокой загрузки ЦП. Рассмотрите возможность перехода на другой SKU VPN-шлюза. Надлежащее увеличение размера VPN-шлюза позволит добиться того, чтобы подключения не удалялись из-за высокой загрузки ЦП. Помощник дает рекомендации для упреждающего решения этой проблемы.

Увеличение размера пакета при загрузке для увеличения пропускной способности загрузки, сжатия данных и производительности запросов

Помощник обнаруживает возможность повысить производительность загрузки и пропускную способность, увеличив размер пакета при загрузке в базу данных. Для этого рекомендуется использовать инструкцию COPY. Если вы не можете использовать инструкцию COPY, попробуйте увеличить размер пакета при использовании таких служебных программ для загрузки, как API SQLBulkCopy или BCP. Хорошее правило — размер пакета должен быть в диапазоне от 100 тыс. до 1 млн строк. Увеличение размера пакета повысит пропускную способность, уровень сжатия данных и производительность запросов.

Совместное размещение учетной записи хранения в одном регионе для уменьшения задержки при загрузке

Помощник определяет, не выполняется ли загрузка из региона, отличного от выделенного пула SQL. Для уменьшения задержки вы можете выполнять загрузку из учетной записи хранения, которая расположена в том же регионе, что и выделенный пул SQL. Это изменение поможет снизить задержку и повысить производительность загрузки.

Использование поддерживаемой версии Kubernetes

Помощник обнаруживает неподдерживаемые версии Kubernetes.

Оптимизация производительности Базы данных Azure для MySQL, Базы данных Azure для PostgreSQL и серверов Базы данных Azure для MariaDB

Устранение проблем (узких мест) с загрузкой ЦП для Базы данных Azure для MySQL, Базы данных Azure для PostgreSQL и серверов Базы данных Azure для MariaDB

Высокий уровень использования ресурсов ЦП в течение продолжительного времени может быть причиной низкой производительности запросов для рабочей нагрузки. Увеличение размера ЦП позволяет оптимизировать среду выполнения запросов к базе данных и повысить общую производительность. Помощник определяет серверы с высокой загрузкой ЦП, на которых рабочая нагрузка, скорее всего, испытывает нехватку ресурсов ЦП, и рекомендуют масштабировать вычислительные ресурсы.

Устранение ограничений по памяти для Базы данных Azure для MySQL, Базы данных Azure для PostgreSQL и серверов Базы данных Azure для MariaDB или переход на SKU с оптимизацией для операций в памяти

Низкий коэффициент попадания в кэш ведет к снижению производительности запросов и увеличению числа операций ввода-вывода в секунду. Это может быть вызвано неудачным планом запроса или рабочей нагрузкой, интенсивно использующей память Оптимизировать выполнение рабочей нагрузки в базах данных поможет корректировка плана запроса или увеличение объема памяти для Базы данных Azure для PostgreSQL, Базы данных Azure для MySQL или сервера Базы данных Azure для MariaDB. Помощник по Azure определяет серверы, затрагиваемые эффектом высокого оттока буферного пула, и предлагает выполнить одно из перечисленных ниже действий.

  • Скорректировать план запроса
  • Перейти на SKU с большим объемом памяти
  • Увеличить размер хранилища, чтобы получить больше операций ввода-вывода в секунду

Использование реплики чтения Базы данных Azure для MySQL или Базы данных Azure для PostgreSQL для масштабирования операций чтения для рабочих нагрузок с интенсивным чтением

С помощью эвристики на основе рабочей нагрузки, например отношения операций чтения к операциям записи на сервере за последние семь дней, Помощник выявляет рабочие нагрузки с высокой интенсивностью чтения. Ресурс Базы данных Azure для PostgreSQL или Базы данных Azure для MySQL с высоким отношением операций чтения к операциям записи может быть причиной состязания за ресурсы ЦП или памяти, что ведет к замедлению запросов. Горизонтально увеличить масштаб операций чтения на сервере реплики и избежать ограничений ЦП или памяти на сервере-источнике поможет добавление реплики. Помощник определяет серверы с рабочими нагрузками с интенсивными операциями чтения и рекомендует добавить реплику чтения для их разгрузки.

Перевод Базы данных Azure для MySQL, Базы данных Azure для PostgreSQL или сервера Базы данных Azure для MariaDB на SKU более высокого уровня, чтобы избежать ограничений с подключениями

Каждое новое подключение к серверу базы данных занимает память. Производительность сервера базы данных снижается при отказе в подключениях к серверу из-за достижения предела по памяти. Помощник по Azure определяет серверы, где часто возникают сбои подключения. Он рекомендует увеличить ограничения сервера на число подключений, выделив ему больше памяти. Для этого можно:

  • вертикально увеличить масштаб вычислительного ресурса;
  • использовать SKU, оптимизированные для операций в памяти, которые предусматривают более высокую вычислительную мощность на ядро;

увеличить размер кэша или перевести его на другой SKU для повышения производительности кэша и приложений.

Экземпляры кэша работают лучше, если им не приходится сталкиваться с ограничениями памяти, серверных ресурсов или пропускной способности сети. Все это ведет к снижению скорости реагирования, потере данных или доступности. Помощник определяет экземпляры кэша с такими характеристиками и предлагает выполнить одно из перечисленных ниже действий.

  • С помощью рекомендаций снизить нагрузку на память, сервер или пропускную способность сети.
  • Перейти на другой размер или SKU с большей емкостью.

Добавление регионов с трафиком в учетную запись Azure Cosmos DB

Помощник обнаруживает учетные записи Azure Cosmos DB с трафиком из региона, который в настоящее время не настроен, и рекомендует добавить этот регион. Это уменьшает задержку при обработке запросов, поступающих из этого региона, и обеспечивает доступность в случае сбоев в регионах. Узнайте больше о глобальном распределении данных с помощью Azure Cosmos DB.

Настройка пользовательских включенных или исключенных путей в политике индексирования Azure Cosmos DB

Помощник определяет контейнеры Azure Cosmos DB, которые используют политику индексирования по умолчанию, но работали бы эффективнее с пользовательской политикой. Для этого он использует характер рабочих нагрузок. Политика индексирования по умолчанию индексирует все свойства. Настраиваемая политика индексирования с явными включенными или исключенными путями в фильтрах запросов позволяет сократить число единиц запросов и объем хранилища для индексирования. Узнайте больше об изменении политик индексирования.

Настройка значения -1 для размера страницы запроса Azure Cosmos DB (MaxItemCount)

Помощник по Azure определяет контейнеры Azure Cosmos DB, использующие размер страницы запроса 100, и рекомендует для ускорения сканирования использовать размер страницы -1. Узнайте больше о параметре MaxItemCount.

Для повышения производительности кластера рекомендуется использовать функцию ускоренной записи в кластере HBase.

Помощник по Azure анализирует журналы системы за последние 7 дней и уведомляет об обнаружении в кластере следующих сценариев:

  1. высокая задержка времени синхронизации WAL;
  2. большое количество запросов записи (не менее трех 1-часовых интервалов с более чем 1000 avg_write_requests в секунду на узел).

Эти условия являются индикаторами проблемы высокой задержки при записи в кластере. Это может быть вызвано высокой рабочей нагрузкой в кластере. Чтобы повысить его производительность, можно использовать функцию ускоренной записи Azure HDInsight HBase. Функция ускоренной записи для кластеров HDInsight Apache HBase подключает управляемые диски SSD ценовой категории "Премиум" к каждому RegionServer (рабочему узлу) вместо использования облачного хранилища. В результате обеспечивается низкая задержка при записи и повышенная устойчивость для приложений. Дополнительные сведения об этой функции см. здесь.

Сведения о сроке кэширования (политики) таблицы Azure Data Explorer для повышения производительности (предварительная версия)

Эта рекомендация охватывает таблицы Azure Data Explorer с большим количеством запросов, которые проверяют настроенный период кэширования (политику). (Отобразятся 10 первых таблиц по проценту запросов, которые обращаются к данным за пределами кэша.) Рекомендуемое действие для повышения производительности кластера: Ограничьте количество запросов к этой таблице минимально необходимым диапазоном времени (в пределах определенной политики). Кроме того, если необходимо получить данные из всего диапазона времени, увеличьте период кэширования до рекомендуемого значения.

Повышение производительности за счет оптимизации размеров временных таблиц MySQL

Анализ Помощника свидетельствует о том, что на вашем сервере MySQL могут возникнуть ненужные или избыточные операции ввода-вывода из-за небольшого размера параметров временных таблиц. Это может привести к ненужным дисковым транзакциям и снижению производительности. Рекомендуется увеличить значения параметров tmp_table_size и max_heap_table_size, чтобы уменьшить количество дисковых транзакций. Дополнительные сведения

Распределение данных в группе серверов для распределения рабочей нагрузки между узлами

Помощник определяет группы серверов, где данные не распределены, а остаются на координаторе. На основе этого Помощник рекомендует распределить данные по рабочим узлам в этой группе серверов, чтобы использовать все преимущества Гипермасштабирования (Citus). Это повысит производительность запросов за счет использования ресурсов каждого узла в группе серверов. Дополнительные сведения

Улучшение взаимодействия с пользователем и возможностей подключения путем развертывания виртуальных машин ближе к расположению, в котором развернута служба "Виртуальный рабочий стол Azure"

С помощью службы "Виртуальный рабочий стол Azure" мы установили, что ваши виртуальные машины находятся в регионе, отличном от того, из которого подключаются пользователи, или удаленном от него. Это может привести к увеличению времени отклика при подключении и повлиять на общее взаимодействие с пользователем в службе "Виртуальный рабочий стол Azure". При создании виртуальных машин для пулов узлов следует попытаться использовать регион, расположенный ближе к пользователю. Близость расположения обеспечит неизменную удовлетворенность работой службы "Виртуальный рабочий стол Azure" и более качественное взаимодействие в целом. Дополнительные сведения о задержке подключения см. здесь.

Обновление пакета SDK иммерсивного средства чтения до последней версии

Мы установили, что в этой подписке есть ресурсы, использующие устаревшие версии пакета SDK иммерсивного средства чтения. Последняя версия пакета SDK иммерсивного средства чтения предоставляет обновленные возможности системы безопасности, улучшения производительности и расширенный набор функций для настройки и улучшения процесса интеграции. Узнайте больше об SDK иммерсивного средства чтения.

Повышение производительности виртуальной машины путем изменения ограничения максимального числа сеансов

Помощник обнаруживает, что у вас есть пул узлов с глубиной, изначально заданной алгоритмом балансировки нагрузки, а предел числа сеансов для данного пула узлов больше или равен 999999. Функция балансировки нагрузки в глубину использует ограничение на максимальное число сеансов, чтобы определить максимальное число пользователей, которые могут иметь одновременные сеансы на одном узле сеансов. Если значение ограничения максимального числа сеансов слишком большое, все пользовательские сеансы будут направляться на один узел сеанса. Это может вызывать проблемы с производительностью и надежностью. Поэтому при настройке балансировки нагрузки в глубину для пула узлов следует также установить соответствующее ограничение на максимальное число сеансов в соответствии с конфигурацией развертывания и емкости виртуальных машин.

Дополнительные сведения о балансировке нагрузки в службе "Виртуальный рабочий стол Azure" см. в разделе Алгоритмы балансировки нагрузки пула узлов.

Обновление до последней версии пакетов SDK для Служб коммуникации Azure

Помощник определил ресурсы в этой подписке, которые используют устаревшие версии определенных пакетов SDK для Служб коммуникации Azure. Последняя версия пакета SDK для Служб коммуникации Azure предоставляет обновленные возможности системы безопасности, улучшения производительности и расширенный набор функций для настройки и улучшения процесса связи. Узнайте больше о Службах коммуникации Azure и интеграции с Помощником по Azure.

Как получить доступ к рекомендациям по производительности в Помощнике

  1. Войдите на портал Azure и откройте Помощник.

  2. На панели мониторинга Помощника откройте вкладку Производительность.

Дальнейшие действия

Чтобы узнать больше о рекомендациях Помощника, ознакомьтесь с приведенными ниже материалами.