Часто задаваемые вопросы о размерах и производительности сайтов Configuration Manager

Относится к Configuration Manager (Current Branch)

В этом документе рассматриваются часто задаваемые вопросы о руководстве по размеру сайтов Configuration Manager и распространенных проблемах с производительностью.

Конфигурация компьютеров и дисков

Как следует форматировать диски на сервере сайта и SQL Server?

Разделите папки "Входящие" Configuration Manager и файлы SQL Server как минимум на двух разных томах. Такое разделение позволяет оптимизировать размеры кластера для различных типов операций ввода-вывода, которые они выполняют.

Для томов, на которых размещаются серверы входящих ящиков сайтов, используйте файловую систему NTFS с единицами 4K или 8K. ReFS записывает 64k даже для небольших файлов. Configuration Manager содержит множество небольших файлов, поэтому ReFS может создавать ненужные затраты на диск.

Для дисков, содержащих файлы баз данных SQL Server, используйте формат NTFS или ReFS с 64 КБ.

Как и где следует размещать файлы базы данных SQL Server?

Современные массивы твердотельных накопителей (SSD) и Azure хранилище класса Premium могут обеспечить высокое количество операций ввода-вывода в секунду на одном томе с небольшим количеством дисков. Как правило, вы добавляете в массив больше дисков для увеличения объема хранилища, а не для повышения пропускной способности. При использовании дисков на основе физических шпинделей может потребоваться больше операций ввода-вывода в секунду, чем можно выполнить на одном томе. Необходимо выделить 60 % от общего рекомендуемого объема операций ввода-вывода в секунду и дискового пространства для .mdf файла, 20 % — для LDF-файла и 20 % — для временных файлов журналов и данных. LDF- и временные файлы могут размещаться на одном томе, на который приходится 40 % (20 % + 20 %) выделенных операций ввода-вывода в секунду.

SQL Server до версий SQL Server 2016 по умолчанию создавал только один временный файл данных. Чтобы избежать блокировок SQL Server и ожидания доступа к одному файлу, следует создать больше сайтов. Мнения сообщества расходятся относительно оптимального количества создаваемых временных файлов данных — от четырех до восьми. Тестирование показывает небольшую разницу между четырьмя и восемью, поэтому вы можете создать четыре файла временных данных одинакового размера . Размер файлов данных tempdb должен составлять до 20–25 % от размера всей базы данных.

Существуют ли другие рекомендации по установке диска?

Если это возможно, установите объем памяти контроллера RAID на 70 % для операций записи и 30 % для операций чтения. Как правило, для базы данных сайта используйте конфигурацию массива RAID 10. RAID 1 также приемлем для небольших сайтов с низкими требованиями к вводу-выводу или если вы используете быстрые твердотельные накопители. При использовании больших дисковых массивов настройте резервные диски для автоматической замены отказавших дисков.

Пример: физический компьютер с физическими дисками

Рекомендации по размеру для совместно размещенного сервера сайта и SQL Server со 100 000 клиентов: 1200 операций ввода-вывода в секунду для папки "Входящие" сервера сайта и 5000 операций ввода-вывода в секунду для файлов SQL Server.

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

Приводы1 RAID Формат Содержимое тома Минимальное количество операций ввода-вывода в секунду Около количества операций ввода-вывода в секунду в комплекте2
2x10k 1 - Windows -
6x15k 10 NTFS 8k Папки "Входящие" ConfigMgr 1700 1751
12x15k 10 64k ReFS SQL .mdf 60%*5000 = 3000 3476
8x15k 10 64k ReFS SQL, LDF, временные файлы 40%*5000 = 2000 2322
  1. Не включает рекомендуемые запасные диски.
  2. Это значение взято из примеров конфигураций дисков.

Я использую Hyper-V в Windows Server. Как настроить диски для виртуальных машин Configuration Manager для оптимальной производительности?

Hyper-V обеспечивает производительность, аналогичную физическому серверу, если аппаратные ресурсы (ядра ЦП и сквозное хранилище) на 100 % выделены виртуальной машине (ВМ). Использование VHD - или VHDX-файлов фиксированного размера влияет на производительность ввода-вывода как минимум на 1–5 %. Использование динамически расширяющихся VHD- или VHDX-файлов приводит к снижению производительности ввода-вывода Configuration Manager до 25 %. Если вам нужны динамически расширяющиеся диски, компенсируйте это, добавив дополнительные 25 % производительности ввода-вывода в секунду для массива.

При запуске сервера сайта Configuration Manager или SQL Server внутри виртуальной машины изолируйте диски ОС узла Hyper-V от ОС и дисков данных виртуальной машины.

Дополнительные сведения об оптимизации виртуальных машин см. в статье Настройка производительности серверов Hyper-V.

Пример: сервер сайта на основе виртуальной машины Hyper-V

Рекомендации по размеру для совместно размещенного сервера сайтов и SQL Server со 150 000 клиентов: 1800 операций ввода-вывода в секунду для папки "Входящие" сервера сайта и 7400 операций ввода-вывода в секунду для файлов SQL Server.

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

Приводы1 RAID Формат2 Содержимое тома Минимальное количество операций ввода-вывода в секунду Около количества операций ввода-вывода в секунду в комплекте3
2x10k 1 - ОС узла Hyper-V - -
2x10k 1 - ОС сервера сайта (ВМ) - -
2xSSD SAS 1 NTFS 8k Папки "Входящие" ConfigMgr (виртуальная машина) 1800 7539
4xSSD SAS 10 64k ReFS Узел виртуальных машин SQL Server (все файлы) 7400 14346
  1. Не включает рекомендуемые запасные диски.
  2. Фиксированный размер и сквозной VHDX-файл для диска виртуальной машины, выделенного для базового тома.
  3. Это значение взято из примеров конфигураций дисков.

Есть ли предложения для сред Configuration Manager в Microsoft Azure?

Начните с чтения часто задаваемых вопросов о Configuration Manager в Azure.

Инфраструктура как услуга (IaaS) Azure Виртуальные машины, использующие диски на основе хранилища класса Premium, могут иметь большое количество операций ввода-вывода в секунду. На этих виртуальных машинах настройте дополнительные диски для предполагаемых потребностей в дисковом пространстве, а не для дополнительных операций ввода-вывода в секунду.

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

Дополнительные сведения и рекомендации по максимальному повышению производительности хранилища класса Premium и запуску SQL Server в виртуальных машинах IaaS Azure см. в следующих статьях:

Пример: сервер сайта на основе Azure.

Рекомендации по размеру для совместно размещенного сервера сайта и SQL Server с 50 000 клиентов: 8 ядер, 32 ГБ и 1200 операций ввода-вывода в секунду для папки "Входящие" серверов сайта и 2800 операций ввода-вывода в секунду для файлов SQL Server.

Итоговым компьютером Azure может быть DS13v2 (8 ядер, 56 ГБ) со следующей конфигурацией дисков:

Drives Формат Contains Минимальное количество операций ввода-вывода в секунду Около количества операций ввода-вывода в секунду в комплекте1
<стандарт> - ОС сервера сайта - -
1xP20 (512 ГБ) NTFS 8k Папки "Входящие" ConfigMgr 1200 2334
1xP30 (1024 ГБ) 64k ReFS SQL Server (все файлы2) 2800 3112
  1. Это значение взято из примеров конфигураций дисков.
  2. Руководство Azure позволяет разместить базу данных TempDB на локальном диске D: на основе SSD, если он не превысит доступное пространство, и позволяет распределять дополнительный диск ввода-вывода.

Пример: сервер сайтов на основе Azure (для мгновенного повышения производительности)

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

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

DS13v2

Приводы1 Формат Contains Минимальное количество операций ввода-вывода в секунду Около количества операций ввода-вывода в секунду в комплекте2
<стандарт> - ОС сервера сайта - -
2xP20 (1024 ГБ) NTFS 8k Папки "Входящие" ConfigMgr 1200 3984
2xP30 (2048 ГБ) 64k ReFS SQL Server (все файлы3) 2800 3984
  1. Диски чередуются с помощью дисковых пространств.
  2. Это значение взято из примеров конфигураций дисков. Размер виртуальной машины ограничивает производительность.
  3. Руководство Azure позволяет разместить базу данных TempDB на локальном диске D: на основе SSD, если он не превысит доступное пространство, и позволяет распределять дополнительный диск ввода-вывода.

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

DS14v2

Приводы1 RAID Формат Contains Минимальное количество операций ввода-вывода в секунду Около количества операций ввода-вывода в секунду в комплекте2
<стандарт> - ОС сервера сайта - -
2xP20 (1024 ГБ) NTFS 8k Папки "Входящие" ConfigMgr 1200 4639
2xP30 (2048 ГБ) 64k ReFS SQL Server (все файлы3) 2800 6182
  1. Диски чередуются с помощью дисковых пространств.
  2. Это значение взято из примеров конфигураций дисков. Размер виртуальной машины ограничивает производительность.
  3. Руководство Azure позволяет разместить базу данных TempDB на локальном диске D: на основе SSD, если он не превысит доступное пространство, и позволяет распределять дополнительный диск ввода-вывода.

Производительность SQL Server

Что лучше: запускать SQL Server, размещенный рядом с сервером сайта, или запускать его на удаленном сервере?

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

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

  • Улучшенные параметры доступности сайта, такие как SQL Server Always On
  • Возможность создания тяжелых отчетов с меньшим количеством подслушанных материалов при обработке на объекте
  • Упрощенное аварийное восстановление в некоторых ситуациях
  • Упрощенное управление безопасностью
  • Разделение ролей в управлении SQL Server, например с отдельной командой администраторов баз данных

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

  • Снижение затрат на оборудование, лицензии и обслуживание
  • Меньше точек отказа на сайте
  • Улучшенный контроль над планированием простоев

Сколько оперативной памяти следует выделить для SQL?

По умолчанию SQL Server использует всю доступную память на сервере, потенциально обедняя ОС и другие процессы на компьютере. Чтобы избежать потенциальных проблем с производительностью, важно выделять память для SQL Server явно. На серверах сайтов, размещенных рядом с SQL Server, убедитесь, что в ОС достаточно ОЗУ для кэширования файлов и других операций. Убедитесь, что осталось достаточно ОЗУ для SMSExec и других процессов Configuration Manager. При запуске SQL Server на удаленном сервере можно выделить большую часть памяти SQL, но не всю. Ознакомьтесь с рекомендациями по размеру для получения первоначальных рекомендаций.

Объем памяти, выделяемой SQL Server, следует округлять до целого ГБ. Кроме того, по мере увеличения объема оперативной памяти вы можете позволить SQL Server иметь более высокий процент. Например, если доступно 256 ГБ или более ОЗУ, вы можете настроить SQL Server до 95 %, так как это по-прежнему сохраняет большой объем памяти для ОС. Мониторинг файла подкачки — хороший способ убедиться, что в нем достаточно памяти для ОС и всех процессов Configuration Manager.

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

Проблемы с конкуренцией за память могут возникнуть, если на сервере SQL Server более 16 физических ядер и недостаточно ОЗУ. Рабочая нагрузка Configuration Manager работает лучше, если для SQL доступно по крайней мере 3–4 ГБ ОЗУ на ядро. При добавлении ядер в SQL Server не забывайте пропорционально увеличивать объем ОЗУ.

Повлияет ли группа доступности SQL Server Always On на производительность моей работы?

Как правило, группы доступности оказывают незначительное влияние на производительность системы, если между серверами реплики имеется достаточное количество сети. Вы можете быстро увеличивать количество LDF-файлов журналов базы данных в загруженной среде группы доступности. Однако после успешного резервного копирования базы данных место в файле журнала автоматически освобождается. Добавьте задание SQL Server для базы данных Configuration Manager, чтобы оно выполняло резервное копирование, например каждые 24 часа, и резервное копирование LDF каждые шесть часов. Дополнительные сведения о группах доступности и Configuration Manager, включая стратегии резервного копирования SQL Server, см. в разделе Подготовка к использованию группы доступности SQL Server Always On.

Следует ли включить сжатие SQL Server для базы данных?

Сжатие SQL Server не рекомендуется для базы данных Configuration Manager. Хотя нет функциональных проблем с включением сжатия базы данных Configuration Manager, результаты тестов не показывают значительной экономии размера по сравнению с потенциальным значительным влиянием на производительность системы.

Следует ли включить шифрование SQL Server для базы данных?

Все секреты в базе данных Configuration Manager уже хранятся в безопасном месте, но добавление шифрования SQL Server может добавить еще один уровень безопасности. Функциональные проблемы с включением шифрования базы данных отсутствуют, но снижение производительности может составлять до 25 %. Поэтому используйте шифрование с осторожностью, особенно в крупномасштабных средах. Также не забудьте обновить планы резервного копирования и восстановления, чтобы обеспечить успешное восстановление зашифрованных данных.

Какую версию SQL Server следует использовать?

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

Если вы видите необычные тайм-ауты или замедление в определенных запросах SQL в SQL Server 2016 или более поздних версиях, например при использовании RBAC в консоли администратора, попробуйте изменить уровень совместимости SQL Server в базе данных Configuration Manager на 110. Работа с уровнем совместимости SQL Server 110 на SQL Server 2014 и более поздних версиях SQL Server полностью поддерживается. Дополнительные сведения см. в статьях "Время ожидания SQL-запроса или медленная консоль для определенных запросов к базе данных Configuration Manager".

С января 2018 г. следует избегать следующих версий SQL Server из-за различных известных проблем, связанных с производительностью, и других потенциальных проблем:

  • SQL Server 2012 SP3 CU1–CU5
  • SQL Server 2014 SP1 CU6–SP2 CU2
  • SQL Server 2016 RTM — CU3, SP1 CU3 — CU5

Следует ли реализовать дополнительные задачи обслуживания SQL Server?

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

Для поддержания производительности SQL Server следует выполнять обслуживание индексов не реже одного раза в неделю и обновлять статистику таблиц и представлений.

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

Доступны дополнительные рекомендации в сообществах Configuration Manager и SQL Server, включая сценарии обслуживания сторонних производителей. В техническом документе « Рекомендации по SQL» для MECM обобщен практический опыт Microsoft CSA по обслуживанию и настройке SQL.

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

Когда следует использовать полную версию SQL Server вместо SQL Server Express на второстепенных сайтах?

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

Существует одна ситуация, когда может потребоваться полная установка SQL Server. Если в среде имеется большое количество точек распространения и пакетов или источников, размер SQL Server Express может быть превышен 10 ГБ. Если количество пакетов больше 4 000 000 точек распространения (например, 2 000 DP с 2 000 единиц контента), рассмотрите возможность использования полного SQL Server на дополнительных сайтах.

Должен ли я изменить настройки MaxDOP в своей базе данных?

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

Многие администраторы Configuration Manager следуют инструкциям в рекомендациях и руководствах по параметру конфигурации "максимальная степень параллелизма" в SQL Server. На большинстве современных крупных устройств это руководство приводит к тому, что максимальное значение составляет восемь. Однако если вы выполняете много запросов меньшего размера по сравнению с вашим количеством процессоров, может быть полезно установить большее значение. Ограничение до восьми не обязательно является лучшим параметром на крупных сайтах, когда доступно больше ядер.

На серверах SQL Server с более чем восемью ядрами начните с параметра 0 и вносите изменения только в случае проблем с производительностью или чрезмерной блокировки. Если вам необходимо изменить MaxDOP, так как вы столкнулись с проблемами производительности при 0, начните с нового значения, по крайней мере большего или равного минимальному рекомендуемому количеству ядер для размера SQL Server этого сайта. Снижение этого значения почти всегда приводит к негативным последствиям для производительности. Например, удаленному серверу SQL Server для клиентского сайта на 100 000 требуется не менее 12 ядер. Если ваш SQL Server имеет 16 ядер, начните тестирование параметра MaxDOP со значения 12.

Настройка защиты от вредоносных программ

Какие папки на сервере сайта (или в других ролях) следует исключить для антивирусной программы?

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

Дополнительные сведения о рекомендуемых исключениях антивирусной программы см. в статье Рекомендуемые исключения антивирусной программы для серверов сайтов, систем сайта и клиентов Configuration Manager.

Обслуживание WSUS

Что можно сделать, чтобы повысить производительность WSUS при использовании с Configuration Manager?

Изменение некоторых ключевых параметров IIS, таких как длина очереди WsusPool и ограничение частной памяти WsusPool, может повысить производительность WSUS даже в небольших установках. Дополнительные сведения см. в примечании WSUS в разделе "Рекомендуемое оборудование".

Также убедитесь, что у вас установлены последние обновления для операционной системы под управлением WSUS:

  • Windows Server 2012: любые накопительные обновления, не относящиеся к категории "Только безопасность", выпущенные в октябре 2017 г. или позже. (KB4041690)
  • Windows Server 2012 R2: Любые накопительные обновления, не относящиеся к категории "Только для системы безопасности", выпущенные в августе 2017 г. или позже. (KB4039871)
  • Windows Server 2016: любые накопительные обновления, не относящиеся к категории "Только безопасность", выпущенные в августе 2017 г. или позже. (KB4039396)

Какой тип обслуживания следует выполнять на серверах WSUS?

Я хочу настроить базовый мониторинг производительности для моего сайта. Что мне посмотреть?

Традиционный мониторинг производительности сервера эффективно работает для общего Configuration Manager. Вы также можете использовать решения для мониторинга, такие как Azure Monitor, для мониторинга базового состояния ваших серверов: см. запись блога Базовый план производительности ConfigMgr в блоге Easy Way. Вы также можете напрямую отслеживать счетчики монитора производительности Windows (PerfMon), предоставляемые Configuration Manager. Отслеживайте отставание в различных папках "Входящие" на предмет ранних признаков потенциальных проблем с производительностью или отставания сайта.