Размер виртуальной машины: рекомендации по оптимизации производительности 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, M- и Mv2- обеспечивают оптимальное соотношение объема памяти и количества виртуальных ядер, требуемое для рабочих нагрузок OLTP.
  • Виртуальные машины серии M обеспечивают максимально высокое соотношение объема памяти и количества виртуальных ядер в Azure. Рекомендуется использовать эти виртуальные машины для критически важных задач и рабочих нагрузок хранилища данных.
  • Используйте образы Azure Marketplace для развертывания виртуальных машин SQL Server в качестве параметров и параметров хранилища SQL Server, настроенных для оптимальной производительности.
  • Собирайте характеристики производительности целевой рабочей нагрузки и используйте их для определения подходящего размера виртуальной машины для вашего бизнеса.
  • Используйте средства рекомендаций помощника по миграции данных и SKU, чтобы найти нужный размер виртуальной машины для существующей рабочей нагрузки SQL Server.
  • Используйте Azure Data Studio для миграции в Azure.

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

Обзор

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

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

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

В настоящее время серия 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.

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

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

Серия Ebdsv5

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

Серия 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 могут привести к затратам на производительность, протестируйте рабочую нагрузку и выберите размер виртуальной машины, соответствующий вашим требованиям к производительности.

Серии M и MV2

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

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

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

Общее назначение

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

Из-за уменьшения соотношения памяти к виртуальным ядрам с виртуальными машинами общего назначения важно тщательно отслеживать счетчики производительности на основе памяти, чтобы убедиться, что 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. Самая большая из этих виртуальных машин — 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.

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

Примечание.

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

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

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

Серия Lsv2

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

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

Это виртуальные машины размером с количеством виртуальных ЦП от 8 до 80 и 8 ГиБ памяти на один виртуальный ЦП, а на каждые 8 ЦП приходится 1,92 ТБ места на твердотельном накопителе NVMe. Это означает, что у самой крупной виртуальной машины этой серии L80s_v2 80 виртуальных ЦП и 640 БиБ памяти, а также 10 хранилищ NVMe по 1,92 ТБ каждое. Существует согласованное соотношение памяти к виртуальным ядрам в 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, вычислительные затраты виртуальных машин совпадают.

Примечание.

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

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

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