Служба хранилища: рекомендации по оптимизации производительности SQL Server на виртуальных машинах Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server на виртуальной машине Azure

В этой статье представлены лучшие методы работы с хранилищем и рекомендации по оптимизации производительности SQL Server на виртуальных машинах Azure.

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

Дополнительные сведения см. в других статьях этой серии: Контрольный список, Размер виртуальной машины, Безопасность, Конфигурация HADR, Сбор базовых показателей.

Контрольный список

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

  • Выполните мониторинг приложения и определите требования к задержке и пропускной способности хранилища для файлов tempdb, журналов и данных SQL Server, прежде чем выбирать тип диска.
  • Чтобы оптимизировать производительность хранилища, запланируйте максимально возможное количество некешированных операций ввода-вывода в секунду и используйте кеширование данных в качестве функции производительности при чтении данных, избегая при этом установки ограничения на виртуальные машины и диски.
  • Разместите файлы данных, журналов и tempdb на разных дисках.
    • Для дисков данных используйте только диски P30 и P40 категории "Премиум", чтобы обеспечить доступность поддержки кеша.
    • Для планирования диска журнала по емкости и тестирования производительности по сравнению с затратами при оценке дисков P30–P80 категории "Премиум":
      • если требуется задержка хранилища менее миллисекунды, используйте для журнала транзакций диски Azure категории "Ультра";
      • для развертываний виртуальных машин серии M рассмотрите возможность использования Ускорителя записи вместо дисков Azure категории "Ультра".
    • Поместите tempdb на локальный временный диск SSD D:\ большинства рабочих нагрузок SQL Server после выбора оптимального размера виртуальной машины.
      • Если емкость локального диска недостаточна для tempdb, рассмотрите возможность увеличения размера виртуальной машины. Дополнительные сведения см. в разделе Политики кеширования файлов данных.
  • Разделите несколько дисков данных Azure с помощью дисковых пространств, чтобы увеличить пропускную способность ввода-вывода до границ операций ввода-вывода в секунду и пропускной способности целевой виртуальной машины.
  • Установите для кеширования узлов значение "только для чтения" для дисков с файлами данных.
  • Установите для кеширования узлов значение none для дисков с файлами журнала.
    • Не включайте кеширование чтения и записи на дисках, содержащих файлы SQL Server.
    • Всегда останавливайте службу SQL Server перед изменением настроек кеширования диска.
  • Для рабочих нагрузок разработки и тестирования, а также для долгосрочного архивирования резервных копий рассмотрите возможность использования стандартного хранилища. Не рекомендуется использовать жесткие диски или твердотельные накопители категории "Стандартный" для производственных рабочих нагрузок.
  • Платное ускорение дисков (P1–P20) следует рассматривать только для небольших рабочих нагрузок разработки или тестирования и систем отделов.
  • Отформатируйте диск данных с размером блока 64 КБ (размер единицы размещения) для всех файлов данных на этом диске, за исключением временного диска D:\ (размер которого по умолчанию составляет 4 КБ). Виртуальные машины SQL Server, развернутые через Azure Marketplace, поставляются с дисками данных, отформатированными с размером блока и чередованием для пула носителей, равным 64 КБ.

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

Обзор

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

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

Тип диска зависит как от типа файла, размещенного на диске, так и от ваших требований к максимальной производительности.

Совет

Подготовка к работе виртуальной машины SQL Server на портале Azure позволяет получать инструкции в процессе настройки хранилища и реализовать большинство рекомендаций для хранилища, таких как создание отдельных пулов носителей для ваших файлов данных и журналов, нацеливание tempdb на диск D:\ и включение политики оптимального кеширования. Дополнительные сведения о подготовке и настройке хранилища см. в разделе Конфигурация хранилища виртуальной машины SQL.

Типы дисков виртуальной машины

Вы можете выбирать уровень производительности для своих дисков. Типы управляемых дисков, доступных в качестве базового хранилища (перечислены в порядке увеличения производительности): жесткие диски (HDD) категории "Стандартный", твердотельные накопители (SSD) категории "Стандартный", SSD категории "Премиум" и диски категории "Ультра".

Производительность диска увеличивается с увеличением емкости, сгруппированной по меткам дисков категории "Премиум", от P1 с 4 ГиБ пространства и 120 операциями ввода-вывода в секунду до P80 с 32 ТиБ хранилища и 20 000 операций ввода-вывода в секунду. Хранилище категории "Премиум" поддерживает кеш хранилища, который помогает повысить производительность операций чтения и записи для некоторых рабочих нагрузок. Дополнительные сведения см. в статье Обзор управляемых дисков.

Существует также три основных типа дисков, которые рекомендуется рассматривать для SQL Server на виртуальной машине Azure: диск ОС, временный диск и ваши диски данных. Тщательно выбирайте, что должно храниться на диске операционной системы (C:\) и временном диске (D:\).

Диск операционной системы

Диск операционной системы — это виртуальный жесткий диск, который может быть использован как загрузочный и подключен в качестве рабочей версии операционной системы. Отмечается как диск C:\. Когда вы создаете виртуальную машину Azure, платформа подключает к ней как минимум один диск в качестве диска операционной системы. Диск C:\ — это место по умолчанию для установки приложений и конфигурации файлов.

В рабочих средах SQL Server не используйте диск операционной системы для файлов данных, файлов журналов и журналов ошибок.

Временный диск

Многие виртуальные машины Azure содержат диск другого типа, так называемый временный диск (отмеченный как диск D:\). Емкость этого диска может различается в зависимости от серии и размера виртуальной машины. Временный диск — это означает, что дисковое хранилище пересоздается (в том смысле, что оно освобождается и выделяется снова) при перезапуске виртуальной машины или перемещении на другой узел (например, для восстановления службы).

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

Поместите tempdb на локальный временный диск SSD D:\ для рабочих нагрузок SQL Server, если потребление локального кеша не вызывает беспокойства. Если вы используете виртуальную машину без временного диска, рекомендуется разместить tempdb на ее собственном изолированном диске или в пуле носителей с настройкой кеширования только для чтения. Дополнительные сведения см. в разделе Политики кеширования данных tempdb.

Диски данных

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

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

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

Отформатируйте диск данных, чтобы он использовал размер единицы размещения 64 КБ для всех файлов данных, размещенных на дисках, кроме временного диска D:\ (который имеет значение по умолчанию 4 КБ). Виртуальные машины SQL Server, развернутые через Azure Marketplace, поставляются с дисками данных, отформатированными с размером единицы размещения и чередованием для пула носителей, равным 64 КБ.

Примечание

вы также можете размещать файлы базы данных SQL Server непосредственно в хранилище Blob-объектов azure или в хранилище SMB , например в общей папке azure premium, но мы рекомендуем использовать управляемые диски azure для достижения максимальной производительности, надежности и доступности функций.

Диски уровня "Премиум"

Используйте диски SSD категории "Премиум" для файлов данных и журналов производственных рабочих нагрузок SQL Server. Число операций ввода-вывода в секунду и пропускная способность диска SSD категории "Премиум" зависят от размера и типа диска.

Для производственных рабочих нагрузок используйте диски P30 и/или P40 для файлов данных SQL Server, чтобы обеспечить кеширование, и диски от P30 до P80 для файлов журнала транзакций SQL Server. Чтобы получить оптимальную совокупную стоимость владения, начните с дисков P30 (5000 операций ввода-вывода в секунду / 200 Мбит/с) для файлов данных и журналов. Выбирайте более высокую емкость только тогда, когда вам нужно контролировать количество дисков виртуальной машины.

Для рабочих нагрузок OLTP сопоставьте целевое количество операций ввода-вывода в секунду на диск (или пул носителей) с требованиями к производительности, используя рабочие нагрузки во время пиковой нагрузки и счетчики производительности Disk Reads/sec + Disk Writes/sec. Для рабочих нагрузок хранилища данных и отчетов сопоставьте целевую пропускную способность, используя рабочие нагрузки во время пиковой нагрузки и счетчики производительности Disk Read Bytes/sec + Disk Write Bytes/sec.

Используйте дисковые пространства для достижения оптимальной производительности и настройте два пула: один для файлов журнала, а другой — для файлов данных. Если вы не применяете чередование дисков, используйте два диска SSD категории "Премиум", сопоставленные с разными дисками, один из которых содержит файлы журналов, а другой — данные.

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

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

Масштабирование дисков категории "Премиум"

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

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

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

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

Дополнительные сведения см. в разделе Уровни производительности для управляемых дисков.

Диск Azure категории "Ультра"

Если требуется время отклика менее миллисекунды с уменьшенной задержкой, рассмотрите возможность использования диска Azure категории "Ультра" для диска журнала SQL Server или даже диска данных для приложений, которые чрезвычайно чувствительны к задержке ввода-вывода.

Диск категории "Ультра" можно настроить так, чтобы емкость и количество операций ввода-вывода в секунду масштабировались независимо. Используя диск категории "Ультра", администраторы могут подготовить диск к работе с учетом требований приложения к емкости, количеству операций ввода-вывода в секунду и пропускной способности.

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

Жесткие диски и твердотельные накопители категории "Стандартный"

Стандартные жесткие диски и твердотельные накопители имеют разную задержку и полосу пропускания и рекомендуются только в качестве рабочих нагрузок для разработки и тестирования. Для производственных рабочих нагрузок необходимо использовать SSD (цен. категория "Премиум"). Если вы используете SSD категории "Стандартный" (сценарии разработки и тестирования), рекомендуется добавить максимальное количество дисков данных, поддерживаемое вашим размером виртуальной машины, и использовать чередование дисков с дисковыми пространствами для обеспечения максимальной производительности.

Кэширование

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

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

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

Операции чтения и записи в Azure BlobCache (кешированные операции ввода-вывода в секунду и пропускная способность) не учитываются в ограничениях некешированных операций ввода-вывода в секунду и пропускной способности виртуальной машины.

Примечание

Кеширование дисков не поддерживается для дисков объемом от 4 ТиБ (P50 и выше). Если к виртуальной машине подключено несколько дисков, то кэширование применяется ко всем дискам, размер которых меньше 4 ТиБ. Дополнительные сведения см. в разделе Кеширование диска.

Некешированная пропускная способность

Максимальное количество операций ввода-вывода в секунду и пропускной способности некешированного диска — это верхний предел удаленного хранилища, которой может обслуживать виртуальная машина. Это ограничение определяется на виртуальной машине и не является ограничением базового дискового хранилища. Это ограничение применяется к операциям ввода-вывода для дисков данных, удаленно подключенных к виртуальной машине, но не к локальным операциям ввода-вывода для временного диска (D:\) или диска ОС.

Объем некешированных операций ввода-вывода в секунду и пропускной способности, доступный для виртуальной машины, можно проверить в документации для вашей виртуальной машины.

Например, в документации для серии M указано, что максимальная некешированная пропускная способность для виртуальной машины Standard_M8ms составляет 5000 операций ввода-вывода в секунду и 125 Мбит/с пропускной способности некешированного диска.

Снимок экрана: документация по пропускной способности некешированных дисков серии M.

Аналогично, в документации указано, что виртуальная машина Standard_M32ts поддерживает 20 000 операций ввода-вывода в секунду и 500 Мбит/с пропускной способности для некешированных дисков. Это ограничение регулируется на уровне виртуальной машины независимо от базового дискового хранилища категории "Премиум".

Дополнительные сведения см. в разделе Ограничения кешированных и некешированных дисков.

Пропускная способность кешированного и временного хранилища

Верхний предел пропускной способности кешированного и временного хранилища — это ограничение, отдельное от ограничения некешированной пропускной способности на виртуальной машине. Azure BlobCache — это сочетание оперативной памяти узла виртуальной машины и локально подключенного SSD. Временный диск (D:\) в виртуальной машине также размещен на этом локальном SSD.

Верхний предел пропускной способности кешированного и временного хранилища управляет вводом-выводом для локального временного диска (D:\) и Azure BlobCache, только если включено кеширование узла.

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

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

Снимок экрана: поддержка хранилища категории "Премиум" в серии M.

Границы кеша зависят от размера виртуальной машины. Например, виртуальная машина Standard_M8ms поддерживает пропускную способность кешированного диска 10 000 операций ввода-вывода в секунду и 1000 Мбит/с с общим размером кеша 793 ГиБ. Аналогично, виртуальная машина Standard_M32ts обеспечивает пропускную способность кешированного диска 40 000 операций ввода-вывода в секунду и 400 Мбит/с с общим размером кеша 3174 ГиБ.

Снимок экрана: документация по пропускной способности кешированного диска серии M.

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

Политики кеширования файлов данных

Политика кеширования хранилища зависит от типа файлов данных SQL Server, размещенных на диске.

В следующей таблице приводится сводка рекомендуемых политик кеширования в зависимости от типа данных SQL Server.

Диск SQL Server Рекомендация
Диск данных Включите кеширование Read-only для дисков, на которых размещены файлы данных SQL Server.
Чтение из кеша будет выполняться быстрее, чем некешированное чтение с диска данных.
Некешированные операции ввода-вывода в секунду и пропускная способность плюс кешированные операции ввода-вывода в секунду и пропускная способность дадут общую возможную производительность, доступную в виртуальной машине в рамках границ VM, но фактическая производительность будет зависеть от способности рабочей нагрузки использовать кеш (коэффициента попадания в кеш).
Диск журнала транзакций Установите политику кеширования в значение None для дисков, на которых размещен журнал транзакций. Включение кеширования для диска журнала транзакций не дает выигрыша в производительности, и фактически включение кеширования Read-only или Read/Write на диске журнала может снизить производительность операций записи на диск и уменьшить объем кеша, доступного для операций чтения на диске данных.
Диск операционной системы Read/write — политика кеширования по умолчанию для диска ОС.
Не рекомендуется изменять уровень кеширования диска ОС.
tempdb Если tempdb не может быть размещена на временном диске D:\ из-за недостаточной емкости, либо измените размер виртуальной машины, чтобы получить временный диск большего размера, либо поместите tempdb на отдельный диск данных с настроенным кешированием Read-only.
Кеш виртуальной машины и временный диск используют локальный SSD. Это необходимо учитывать при определении размера, так как ввод-вывод tempdb будет учитываться в ограничениях кешированных операций ввода-вывода в секунду и пропускной способности виртуальной машины при размещении на временном диске.

Важно!

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

Дополнительные сведения см. в разделе Кеширование диска.

Чередование дисков

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

Для повышения пропускной способности можно добавить дополнительные диски данных и использовать чередование дисков. Например, приложение с требуемой пропускной способностью 12 000 операций ввода-вывода в секунду и 180 Мбит/с может использовать три диска P30 с чередованием, обеспечивающие пропускную способность 15 000 операций ввода-вывода в секунду и 600 Мбит/с.

Сведения о настройке чередования дисков см. в разделе Чередование дисков.

Установка ограничения на использование диска

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

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

Например, если приложению требуется пропускная способность 12 000 операций ввода-вывода в секунду и 180 Мбит/с, можно:

  • использовать VM Standard_M32ms с максимальной пропускной способностью некешированного диска 20 000 операций ввода-вывода в секунду и 500 Мбит/с;
  • использовать три диска P30 с чередованием для обеспечения пропускной способности 15 000 операций ввода-вывода в секунду и 600 Мбит/с;
  • использовать виртуальную машину Standard_M16ms и кеширование узла, чтобы задействовать локальный кеш вместо потребления пропускной способности.

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

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

Примечание

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

Ускорение записи

Ускорение записи — функция диска, доступная только для виртуальных машин (VM) серии M. Цель ускорения записи — уменьшить задержку ввода-вывода при записи в хранилище Azure категории "Премиум", когда вам нужна задержка ввода-вывода, не превышающая однозначных показателей, из-за критически важных рабочих нагрузок OLTP большого объема или сред хранилищ данных.

Используйте ускорение записи, чтобы уменьшить задержку записи на диск, на котором размещены файлы журнала. Не используйте ускорение записи для файлов данных SQL Server.

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

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

SKU виртуальной машины Кол-во дисков Ускорителя записи Число операций ввода-вывода в секунду на диске Ускорителя записи на VM
M416ms_v2, M416s_v2 16 20 000
M128ms, M128s 16 20 000
M208ms_v2, M208s_v2 8 10000
M64ms, M64ls, M64s 8 10000
M32ms, M32ls, M32ts, M32s 4 5000
M16ms, M16s 2 2500
M8ms, M8s 1 1250

Существует ряд ограничений на использование Ускорения записи. Дополнительные сведения см. в разделе Ограничения при использовании Ускорителя записи.

Сравнение с диском Azure категории "Ультра"

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

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

Мониторинг производительности хранилища

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

Операции ввода-вывода в секунду — это количество запросов приложения в хранилище в секунду. Измеряйте количество операций ввода-вывода в секунду с помощью счетчиков Монитора производительности Disk Reads/sec и Disk Writes/sec. Приложениям OLTP (обработки транзакций в реальном времени) требуется более высокое количество операций ввода-вывода в секунду для достижения оптимальной производительности. Примерами приложений OLTP являются системы обработки платежей, системы онлайн-покупок и системы торговых автоматов.

Пропускная способность — это объем данных, отправляемых в базовое хранилище, часто измеряемый в мегабитах в секунду. Измеряйте пропускную способность с помощью счетчиков Монитора производительности: Disk Read Bytes/sec и Disk Write Bytes/sec. Хранилище данных оптимизировано для увеличения пропускной способности за счет количества операций ввода-вывода в секунду. Такие приложения, как хранилища данных для анализа, отчетности, рабочие потоки извлечения, преобразования и загрузки, а также другие целевые объекты бизнес-аналитики, являются примерами приложений хранилища данных.

Размеры единиц ввода-вывода влияют на количество операций ввода-вывода в секунду и пропускную способность: меньшие размеры единиц ввода-вывода приводят к большему количеству операций ввода-вывода в секунду, а большие размеры единиц ввода-вывода обеспечивают более высокую пропускную способность. SQL Server автоматически выбирает оптимальный размер ввода-вывода. Дополнительные сведения см. в разделе Оптимизация операций ввода-вывода в секунду, пропускной способности и задержки для ваших приложений.

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

Примечание

Azure Monitor в настоящее время не предлагает метрики на уровне диска для временного диска ((D:\)). Процент потребленных VM кэшированных операций ввода-вывода в секунду и процент потребленной VM кэшированной пропускной способности будут отражать общее количество операций ввода-вывода в секунду и пропускную способность от использования временного диска ((D:\)) и кэширования узла.

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

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

Рекомендации по безопасности см. в разделе Вопросы безопасности SQL Server на виртуальных машинах Azure.

Чтобы узнать, как провести полное тестирование производительности SQL Server на виртуальных машинах Azure с помощью тестов TPC-E и TPC_C, см. эту запись блога.

Ознакомьтесь с другими статьями, посвященными виртуальным машинам SQL Server, используя руководство с обзором SQL Server на виртуальных машинах с Windows. Если у вас есть вопросы по виртуальным машинам SQL Server, см. раздел часто задаваемых вопросов.