Размер виртуальной машины: рекомендации по оптимизации производительности SQL Server на виртуальных машинах Azure
Область применения: SQL Server на виртуальной машине Azure
В этой статье представлены рекомендации по размеру виртуальных машин и лучшие методы по оптимизации производительности SQL Server на виртуальных машинах Azure.
Обычно существует компромисс между оптимизацией затрат и оптимизацией производительности. Эта серия рекомендаций по повышению производительности предназначена для достижения оптимальной производительности SQL Server на виртуальных машинах Azure. Если рабочая нагрузка не так велика, могут потребоваться не все рекомендуемые варианты оптимизации. При оценке этих рекомендаций учитывайте актуальные потребности в производительности, затраты и характер рабочих нагрузок.
Подробные сведения см. в других статьях этой серии: Краткий контрольный список, Хранилище, Безопасность, Конфигурация HADR, Сбор базовых показателей.
Контрольный список
Ознакомьтесь со следующим контрольным списком, содержащим краткий обзор рекомендаций по размеру виртуальных машин, которые более подробно описываются далее в этой статье.
- Определите характеристики производительности рабочей нагрузки, чтобы определить соответствующий размер виртуальной машины для вашего бизнеса.
- При миграции в Azure используйте такие средства, как Помощник по миграции данных и рекомендации SKU, чтобы найти нужный размер виртуальной машины для существующей рабочей нагрузки SQL Server, а затем выполнить миграцию с помощью Azure Data Studio.
- Используйте образы Azure Marketplace для развертывания виртуальных машин SQL Server, так как параметры SQL Server и параметры хранилища настроены для оптимальной производительности.
- Используйте размеры виртуальных машин с 4 или более виртуальными ЦП.
- Используйте размеры виртуальных машин, оптимизированные для операций в памяти, для повышения производительности при выполнении рабочих нагрузок SQL Server.
- Серия Edsv5 и Msv3 и Mdsv3 предлагают оптимальное соотношение памяти к виртуальным ядрам, рекомендуемое для рабочих нагрузок OLTP.
- Виртуальные машины серии Mbdsv3 обеспечивают лучшую производительность для рабочих нагрузок SQL Server на виртуальных машинах Azure. Рассмотрим этот ряд для критически важных рабочих нагрузок OLTP и хранилища данных SQL Server.
- Серия Ebdsv5 обеспечивает высокую пропускную способность ввода-вывода к виртуальным ядрам, а также соотношение памяти к виртуальным ядрам 8:1. Эта серия предлагает наилучшее соотношение цены и качества для рабочих нагрузок SQL Server на виртуальных машинах Azure. Сначала рассмотрите эти виртуальные машины для большинства рабочих нагрузок SQL Server.
- Семейство серии M предлагает виртуальные машины с наибольшим выделением памяти в Azure.
- Виртуальные машины серии Mbsv3 и Mbdsv3 обеспечивают большое распределение памяти и максимальное соотношение пропускной способности ввода-вывода к виртуальным ядрам среди семейства серии M, а также согласованное соотношение памяти и виртуальных ядер по крайней мере 8:1.
- Запустите среды разработки с более низким уровнем серии D, серии B или Av2 и развивайте среду с течением времени.
Чтобы сравнить контрольный список размеров ВМ с другими, просмотрите исчерпывающий контрольный список рекомендаций по оптимизации производительности.
Обзор
При создании SQL Server на виртуальной машине Azure тщательно рассмотрите необходимый тип рабочей нагрузки. Если вы переносите существующую среду, соберите базовые показатели производительности, чтобы определить требования SQL Server к виртуальной машине Azure. Используйте конфигурацию виртуальных ЦП и памяти исходного компьютера в качестве основы для миграции текущей локальной базы данных SQL Server в SQL Server на виртуальных машинах Azure. Если у вас есть Software Assurance, воспользуйтесь преимуществами Преимущество гибридного использования Azure, чтобы перенести лицензии в Azure и сэкономить на затратах на лицензирование SQL Server.
Если это новая виртуальная машина, создайте новую виртуальную машину SQL Server на основе требований приложения. Если вы создаете новую виртуальную машину SQL Server для нового приложения, созданного для облака, вы можете легко масштабировать виртуальную машину SQL Server по мере развития требований к данным и использованию. Запустите среды разработки с более низким уровнем серии D, серии B или Av2 и развивайте среду с течением времени.
Рассмотрим следующие серии виртуальных машин на основе рабочих нагрузок SQL Server:
- Максимальное выделение памяти для критически важных рабочих нагрузок: виртуальные машины серии Mbsv3 и Mbdsv3 обеспечивают максимальное распределение памяти в Azure с оптимальной производительностью хранилища.
- Высокий коэффициент пропускной способности ввода-вывода к виртуальным ядрам: виртуальные машины серии Mbsv3 и Mbdsv3 обеспечивают максимальное соотношение пропускной способности к виртуальным ядрам любого ряда виртуальных машин в любом облаке. Виртуальные машины серии Ebdsv5 предлагают вТорое максимальное соотношение пропускной способности к виртуальным ядрам в Azure. Если вы не знаете требования ввода-вывода для рабочей нагрузки SQL Server, виртуальные машины серии Ebdsv5 являются наиболее вероятными для удовлетворения ваших потребностей. Дополнительные сведения см. в статье о хранилище.
- Параллельная обработка для больших компьютеров: виртуальные машины серии Msv3 и Mdsv3 предлагают параллельную обработку, что делает их хорошими вариантами для более крупных сред хранилища данных.
Хранилище данных SQL Server и критически важные среды часто требуют масштабирования за пределами соотношения памяти к виртуальным ядрам 8:1. В средних средах может потребоваться выбрать соотношение памяти к виртуальным ядрам 16:1 и соотношение памяти к виртуальным ядрам в 32:1 для больших сред хранилища данных.
Используйте образы VM Marketplace для SQL Server с конфигурацией хранилища на портале. Это упрощает правильное создание пулов носителей, необходимых для получения размера, операций ввода-вывода в секунду и пропускной способности, необходимой для рабочих нагрузок. Важно выбрать виртуальные машины SQL Server, поддерживающие производительность хранилища класса Premium. Дополнительные сведения см. в статье о хранилище.
Оптимизированные для памяти виртуальные машины серии M
Серия M предлагает количество виртуальных ядер и объем памяти для самых больших рабочих нагрузок SQL Server.
Ниже перечислены возможности виртуальных машин серии M.
- Поддержка хранилища класса Premium, кэширования хранилища класса Premium, дисков категории "Ультра", ускорения записи и ускорения сети.
- Подходят для рабочих нагрузок SQL Server, требующих высоких вычислительных возможностей с большим объемом памяти и меньшим акцентом на производительность хранилища.
Серия Mbsv3 и Mbdsv3
Серия Mbsv3 и Mbdsv3 — это оптимизированные для памяти виртуальные машины, предназначенные для больших баз данных и рабочих нагрузок с высоким соотношением памяти к ЦП. Виртуальные машины в этой серии основаны на 4-м поколении Intel® Xeon® Scalable и предлагают диапазон размеров памяти и виртуальных ЦП для удовлетворения потребностей рабочих нагрузок SQL Server. Виртуальные машины серии Mbsv3 и Mbdsv3 рекомендуются для критически важных рабочих нагрузок хранилища данных и критически важных задач.
Виртуальные машины серии Mbsv3 и Mbdsv3 поддерживают большие базы данных и рабочие нагрузки с высоким соотношением памяти к ЦП, идеально подходит для реляционных серверов баз данных, хранения данных, тяжелых отчетов, больших кэшей и аналитики в памяти.
Ниже приведены характеристики виртуальных машин в этой серии:
- Серия Mbsv3 предлагает до 176 виртуальных ядер и 1536 ГиБ памяти с согласованным соотношением памяти к виртуальным ядрам 8:1, 650 000 операций ввода-вывода в секунду и 6000 МБИТ/с пропускной способности хранилища.
- Серия Mbdsv3 предлагает до 176 виртуальных ядер и 4 ТиБ памяти, 650 000 операций ввода-вывода в секунду и 10 000 МБИТ/с пропускной способности хранилища. Эта серия виртуальных машин обеспечивает более чем 50% улучшения операций ввода-вывода в секунду и пропускную способность для высокопроизводительной серии Ebdsv5, что делает Mbdsv3 одним из самых высокопроизводительных параметров виртуальной машины, доступных в любом облаке. Серия виртуальных машин Mbdsv3 использует аналогичные характеристики производительности с серией виртуальных машин Mbsv3, но включает в себя строгое локальное и эфемерное хранилище, что делает его идеальным для оптимизации производительности tempdb, отчетов, критически важных рабочих нагрузок OLAP и хранения данных.
Серия 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 МБИТ/с пропускной способности удаленного хранилища.
Внимание
Отключите SMT для использования SQL Server на виртуальных машинах Azure, превышающих 64 виртуальных ядер на узел NUMA.
Виртуальные машины серии 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,92 ТиБ хранилища 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, вычислительные затраты виртуальных машин совпадают.
Примечание.
- При средних и больших рабочих нагрузках хранилищ данных может быть выгодно использовать несколько виртуальных машины с ограничением по количеству виртуальных ядер, но рабочие нагрузки хранилища данных обычно характеризуются меньшим количеством пользователей и процессов, обращающихся к большим объемам данных через планы запросов, которые выполняются параллельно.
- Стоимость вычислений, которая включает в себя лицензирование операционной системы, останется такой же, как и у родительской виртуальной машины.
Следующие шаги
Дополнительные сведения см. в других статьях из этой серии материалов с рекомендациями:
Рекомендации по безопасности см. в разделе Вопросы безопасности SQL Server на виртуальных машинах Azure.
Ознакомьтесь с другими статьями, посвященными виртуальным машинам SQL Server, используя руководство с обзором SQL Server на виртуальных машинах с Windows. Если у вас есть вопросы по виртуальным машинам SQL Server, см. раздел часто задаваемых вопросов.