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

Область применения: SQL Server на виртуальной машине Azure

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

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

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

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

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

  • Серия Ebdsv5 обеспечивает максимальное соотношение пропускной способности ввода-вывода к виртуальным ядрам в Azure вместе с соотношением памяти к виртуальным ядрам 8. Эта серия предлагает наилучшее соотношение цены и качества для рабочих нагрузок SQL Server на виртуальных машинах Azure. Рекомендуется использовать эту серию для большинства рабочих нагрузок SQL Server.
  • Используйте размеры виртуальных машины с 4 или более виртуальными ЦП, например E4ds_v5 или выше.
  • Используйте размеры виртуальных машин, оптимизированные для операций в памяти, для повышения производительности при выполнении рабочих нагрузок SQL Server.
  • Серия Edsv5 и серия Ebdsv5 , серия Msv3 и Mdsv3 обеспечивают оптимальное соотношение памяти к виртуальным ядрам, необходимое для рабочих нагрузок OLTP.
  • Виртуальные машины серии M обеспечивают максимальное соотношение памяти и виртуальных ядер в Azure. Рассмотрим эти виртуальные машины для критически важных рабочих нагрузок OLTP и хранилища данных.
  • Используйте образы Azure Marketplace для развертывания Виртуальные машины SQL Server, так как параметры SQL Server и параметры хранилища настроены для оптимальной производительности.
  • Собирайте характеристики производительности целевой рабочей нагрузки и используйте их для определения подходящего размера виртуальной машины для вашего бизнеса.
  • Используйте средства рекомендаций Помощник по миграции данных и SKU, чтобы найти нужный размер виртуальной машины для существующей рабочей нагрузки SQL Server.
  • Используйте Azure Data Studio для миграции в Azure.

Предупреждение

Установка SQL Server в системы, превышающие 64 ядер на узел NUMA, в настоящее время не поддерживается. Это ограничение в настоящее время применяется к Standard_M176s_3_v3 и Standard_M176s_4_v3 размерам виртуальных машин Azure в серии средних памяти Msv3 и Mdsv3.

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

Обзор

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

Если вы создаете новую виртуальную машину SQL Server с новым приложением, созданным для облака, вы можете легко размер виртуальной машины SQL Server по мере развития требований к данным и использованию. Запускайте среды разработки с использованием серии D, серии B или Av2 и развивайте среду с течением времени.

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

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

Примечание.

Более крупные размеры серии Ebdsv5 (48 виртуальных ЦП и более крупные) обеспечивают поддержку доступа к хранилищу с поддержкой NVMe. Чтобы воспользоваться этой высокой производительностью ввода-вывода, необходимо развернуть виртуальную машину с помощью NVMe. Поддержка NVMe для образов SQL Server Marketplace скоро будет поступать, но на данный момент необходимо самостоятельно установить SQL Server, чтобы воспользоваться преимуществами NVMe.

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

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

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

Виртуальные машины серии M, оптимизированные для памяти

Серия M предлагает количество виртуальных ядер и объем памяти для самых больших рабочих нагрузок SQL Server.

Ниже перечислены возможности виртуальных машин серии M.

Серия Msv3 и Mdsv3

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

Ниже перечислены виртуальные машины в этой серии:

  • Виртуальные машины средней памяти Msv3 и Mdsv3: на базе процессоров Intel® Xeon® Scalable 4-го поколения и предоставляют размеры виртуальных машин размером до 4 ТБ памяти, 416 виртуальных ЦП, 130 000 операций ввода-вывода в секунду и 4000 МБИТ/с пропускной способности удаленного хранилища с помощью интерфейса NVMe.
  • Виртуальные машины с высокой памятью Msv3 и Mdsv3: предназначены для рабочих нагрузок с высокой памятью с пропускной способностью от 6 ТБ до 16 ТБ, до 832 виртуальных ЦП, до 260 000 операций ввода-вывода в секунду и пропускной способности 8 000 МБИТ/с до удаленного хранилища с интерфейсом NVMe.
  • Серия mdsv3 Очень высокая память: на базе процессоров Intel® Xeon® Platinum 8490H (Sapphire Rapids) и имеет наибольший объем памяти любой из виртуальных машин серии M, предлагающих до 32 ТБ памяти, 1792 виртуальных ЦП, до 200 000 операций ввода-вывода в секунду и 8000 МБИТ/с пропускной способности удаленного хранилища.

Предупреждение

Установка SQL Server в системы, превышающие 64 ядер на узел NUMA, в настоящее время не поддерживается. Это ограничение в настоящее время применяется к следующим размерам виртуальных машин Azure в серии средних памяти Msv3 и Mdsv3: Standard_M176s_3_v3, Standard_M176s_4_v3, Standard_M176ds_3_v3, Standard_M176ds_4_v3

Виртуальные машины серии E, оптимизированные для памяти

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

Серия Ebdsv5

Серия Ebdsv5 — это оптимизированная для памяти серия виртуальных машин, которая обеспечивает максимальную пропускную способность удаленного хранилища, доступную в Azure. Эти виртуальные машины имеют отношение памяти к виртуальным ядрам 8:1, что вместе с высокой пропускной способностью ввода-вывода делает их идеальными для рабочих нагрузок SQL Server. Виртуальные машины серии Ebdsv5 предлагают лучшее соотношение цены и качества для рабочих нагрузок SQL Server, выполняемых на виртуальных машинах Azure. Мы настоятельно рекомендуем использовать эти виртуальные машины для большинства производственных рабочих нагрузок SQL Server.

Примечание.

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

Серия Edsv5

Серия Edsv5 предназначена для приложений с большим объемом памяти и идеально подходит для рабочих нагрузок SQL Server, которые не требуют максимально высокой пропускной способности ввода-вывода, так как серия Ebdsv5 предлагает. Эти виртуальные машины имеют большой объем локального хранилища SSD, до 672 ГиБ ОЗУ, и очень высокую пропускную способность локального и удаленного хранилища. В большинстве этих виртуальных машин почти согласовано 8 ГиБ памяти на большинство этих виртуальных машин, что идеально подходит для большинства рабочих нагрузок SQL Server.

Самая большая виртуальная машина в этой группе — Standard_E104ids_v5 со 104 виртуальными ядрами и 672 ГиБ памяти. Эта виртуальная машина является заметной, так как она изолирована , что означает, что она гарантированно является единственной виртуальной машиной, работающей на узле, и поэтому изолирована от других рабочих нагрузок клиентов. Ее соотношение памяти к виртуальным ядрам ниже рекомендуемого для SQL Server, поэтому этот вариант следует использовать, только если требуется изоляция.

Виртуальные машины серии Edsv5 поддерживают хранилище класса Premium и кэширование хранилища класса Premium.

Серия ECadsv5

Размеры виртуальных машин серии ECadsv5 — это оптимизированные для памяти конфиденциальные виртуальные машины Azure с временным диском. Просмотрите конфиденциальные виртуальные машины для получения сведений о преимуществах безопасности конфиденциальных виртуальных машин Azure.

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

Общего назначения

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

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

Так как начальная рекомендация для рабочих нагрузок — это соотношение памяти к виртуальным ядрам 8, минимальная рекомендуемая конфигурация для виртуальной машины общего назначения под управлением SQL Server составляет 4 виртуальных ЦП и 32 ГиБ памяти.

Серия Ddsv5

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

Виртуальные машины Ddsv5 имеют меньшую задержку и более быстрое локальное хранилище.

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

По этой причине рекомендуется использовать D8ds_v5 в качестве начальной виртуальной машины в этой серии, которая имеет 8 виртуальных ядер и 32 ГиБ памяти. Самая мощная виртуальная машина — это D96ds_v5 с 96 виртуальными ядрами и 256 ГиБ памяти.

Виртуальные машины серии Ddsv5 поддерживают хранилище класса Premium и кэширование хранилища класса Premium.

Примечание.

Серия Ddsv5 не предлагает соотношение объема памяти и количества виртуальных ядер, равное 8, которое рекомендуется для рабочих нагрузок SQL Server. Таким образом, рассмотрите возможность использования этих виртуальных машин только для небольших приложений и рабочих нагрузок разработки.

Серия DCadsv5

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

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

серия B;

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

Большинство размеров виртуальных машин серии B с увеличивающейся производительностью имеют соотношение памяти к виртуальным ядрам, равное 4. Самая большая симуляемая серия B — это Standard_B20ms с 20 виртуальными ядрами и 80 ГиБ памяти.

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

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

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

Эта серия поддерживает хранилище класса "Премиум", но не поддерживает кэширование хранилища класса "Премиум".

Примечание.

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

Серия Av2

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

Только Standard_A2m_v2 (2 виртуальных ядра и 16 ГиБ памяти), Standard_A4m_v2 (4 виртуальных ядра и 32 ГиБ памяти), а также Standard_A8m_v2 (8 виртуальных ядер и 64 ГиБ памяти) имеют оптимальное соотношение объема памяти и количества виртуальных ядер (равное 8) среди этих трех основных типов виртуальных машин.

Эти виртуальные машины являются хорошим вариантом для небольших систем разработки и тестирования SQL Server.

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

Примечание.

Серия Av2 не поддерживает хранилище класса "Премиум" и поэтому не рекомендуется для производственных рабочих нагрузок SQL Server даже с виртуальными машинами, имеющими соотношение памяти к виртуальным ядрам, равным 8.

Оптимизированные для хранилища

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

Серия Lsv2

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

Эти виртуальные машины являются надежными вариантами для работы с большими данными, хранилищ данных, отчетов и рабочих нагрузок ETL. Высокая пропускная способность и операции ввода-вывода в локальном хранилище NVMe дают хороший вариант для обработки файлов, которые будут загружаться в базу данных, и других сценариев, где данные могут воссоздаваться из исходной системы или других репозиториев, например хранилища BLOB-объектов Azure или Azure Data Lake. Виртуальные машины серии Lsv2 могут ускорять производительность диска и поддерживать пиковую скорость до 30 минут подряд.

Эти виртуальные машины размером от 8 до 80 виртуальных ЦП с 8 ГиБ памяти на виртуальный ЦП и для каждого 8 виртуальных ЦП существует 1,92 ТБ ssd NVMe. Это означает для крупнейшей виртуальной машины этой серии, L80s_v2, существует 80 виртуальных ЦП и 640 БиБ памяти с 10x1,92TB хранилища NVMe. Существует согласованное соотношение памяти к виртуальным ядрам в 8 на всех этих виртуальных машинах.

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

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

Предупреждение

Хранение файлов данных во временном хранилище NVMe может привести к потере данных при освобождении виртуальной машины.

Ограниченное количество виртуальных ядер

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

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

Этим средам OLTP требуется больший объем памяти, быстрое хранилище и пропускная способность ввода-вывода, необходимая для оптимального выполнения.

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

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

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

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

Например, для M64-32ms требуется лицензирование 32 только виртуальных ядер SQL Server с памятью, вводом-выводом и пропускной способностью M64ms, а для M64-16ms — лицензирование только 16 виртуальных ядер. Хотя m64-16ms имеет четверть стоимости лицензирования SQL Server m64ms, вычислительные затраты виртуальных машин совпадают.

Примечание.

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

Следующие шаги

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